2013-08-03 32 views
0

我剛剛用Ruby on Rails設置了MySQL。我創建了一個新的Rails項目給予以下命令將MySQL與Ruby on Rails連接時出錯

rails new test1 –d mysql 

該項目得到了成功創建,但我得到的錯誤時,我給下面的命令

rake db:create 

的錯誤是

C:\Users\HP\test1>rake db:create 
rake aborted! 
(<unknown>): did not find expected key while parsing a block mapping at line 11 
column 1 

Tasks: TOP => db:create => db:load_config 
(See full trace by running task with --trace) 

了當我運行跟蹤命令時在消息下面

C:\Users\HP\test1>rake db:create --trace 
** Invoke db:create (first_time) 
** Invoke db:load_config (first_time) 
** Invoke rails_env (first_time) 
** Execute rails_env 
** Execute db:load_config 
rake aborted! 
(<unknown>): did not find expected key while parsing a block mapping at line 11 
column 1 
C:/Ruby200/lib/ruby/2.0.0/psych.rb:205:in `parse' 
C:/Ruby200/lib/ruby/2.0.0/psych.rb:205:in `parse_stream' 
C:/Ruby200/lib/ruby/2.0.0/psych.rb:153:in `parse' 
C:/Ruby200/lib/ruby/2.0.0/psych.rb:129:in `load' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/railties-3.1.1/lib/rails/application/configu 
ration.rb:106:in `database_configuration' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/activerecord-3.1.1/lib/active_record/railtie 
s/databases.rake:6:in `block (2 levels) in <top (required)>' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:236:in `call' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:236:in `block i 
n execute' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:231:in `each' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:231:in `execute 
' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:175:in `block i 
n invoke_with_call_chain' 
C:/Ruby200/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_ 
with_call_chain' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:197:in `block i 
n invoke_prerequisites' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:195:in `each' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:195:in `invoke_ 
prerequisites' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:174:in `block i 
n invoke_with_call_chain' 
C:/Ruby200/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:168:in `invoke_ 
with_call_chain' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/task.rb:161:in `invoke' 

C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:149:in ` 
invoke_task' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:106:in ` 
block (2 levels) in top_level' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:106:in ` 
each' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:106:in ` 
block in top_level' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:115:in ` 
run_with_threads' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:100:in ` 
top_level' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:78:in `b 
lock in run' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:165:in ` 
standard_exception_handling' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/lib/rake/application.rb:75:in `r 
un' 
C:/Ruby200/lib/ruby/gems/2.0.0/gems/rake-10.1.0/bin/rake:33:in `<top (required)> 
' 
C:/Ruby200/bin/rake:23:in `load' 
C:/Ruby200/bin/rake:23:in `<main>' 
Tasks: TOP => db:create => db:load_config 

不知道找哪個文件錯誤:

(<unknown>): did not find expected key while parsing a block mapping at line 11 
    column 1 

我掙扎了最後幾個小時來解決這一點,但無法找到一個解決方案。請指教。謝謝。

回答

0

它看起來像你的config\database.yml文件丟失一些數據,它看起來應該像下面這樣:

development: 
    adapter: mysql 
    database: my_project_development 
    host: localhost 
    username: my_user 
    password: my_password 

您還需要在你的Gemfile一個mysql寶石。

+0

謝謝。我通過在普通的記事本中打開yml文件給密碼,所以無法讀取它。然後我試着在記事本++中打開yml,並做了一些技巧。現在工作正常。 – Gaurav

1

我通過在普通記事本中打開yml文件來提供root密碼。所以我相信它無法讀取密碼。然後我通過記事本++編輯yml文件,它工作正常。所以好像我們需要使用記事本++或editplus或一些類似的費用來編輯這些文件。