最近開始弄這個Rails,費了一些心里才完成Rails的環境搭建,OK,現在開始按照Rails Guides編寫第一個測試的小程序,Blog程序。
開始在終端輸入一下命令:
rails new blog -d mysql
很無奈的報錯了,看到命令行輸出一串串的字符,在bundle install的時候輸出提示,有一個https什么的,我一猜想,估計是偉大的黨國有牆了,沒辦法進入blog目錄,修改 Gemfile。將source修改為淘寶的gem鏡像,再次手動運行
bundle install
這次成功了,運行的很流暢,沒有任何問題。檢查一下自己的數據庫已經啟動沒問題,好的。現在修改 ./config/database.yml文件,將數據庫的連接文件的帳號,密碼設置正確。(我的root賬戶應為想到的開發環境就設置的比較簡單123,這就出現了我在上一邊環境安裝過程中提醒大家最好使用字母加數字或者字母的原因)。命令行執行
$ rake db:create -v rake aborted! Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs for a list of available runtimes. (See full trace by running task with --trace)
如上的問題讓我首先很是無奈,Could not find a JavaScript runtime---這是為什么啦,我才開始就說需要javascript了,太神奇了。谷哥了一把(度娘再次失望的沒有找到解決辦法),需要在Gemfi中添加
gem 'therubyracer'
添加成功后再次運行 bundle install命令,發現gem會幫你自動安裝一個javascript的東東。再次運行
$ rake db:create -v rake aborted! can't convert Fixnum into String Tasks: TOP => db:create (See full trace by running task with --trace)
發現命令報錯是不是不一樣了。但是還是悲催的報錯了。但是看看報錯提示can't convert Fixnum into String ,這是為什么了啦。想了好久好久,在看看了好久的./config/database.yml文件終於突然想到是密碼的問題了,應為我的密碼設置的是123。在這兩天看書web敏捷開發之道的時候看到關於YAML的介紹的時候提及了一下。我感覺到可能是YAML在閱讀我的database的配置文件的時候默認的將123作為了一個num類型的數據,修改./config/database.yml將密碼123打上雙引號,強制的將num轉換成為字符串,在再次執行rake db:create -v就沒有任何問題了。
