rake db:createでエラー
mysqlいれてRubyでrake db:createしようとしたら下記のようなエラーが出てなにが悪いのか全くわからず3時間ぐらいずっと見当違いなことを調べてました。
$ rake db:create (in /Users/nick/hoge) rake aborted! syntax error on line 15, col 2: ` socket: '/opt/local/var/run/mysql5/mysqld.sock'' /usr/local/lib/ruby/1.9.1/syck.rb:135:in `load' /usr/local/lib/ruby/1.9.1/syck.rb:135:in `load' /usr/local/lib/ruby/gems/1.9.1/gems/railties-3.0.3/lib/rails/application/configuration.rb:88:in `database_configuration' /usr/local/lib/ruby/gems/1.9.1/gems/activerecord-3.0.3/lib/active_record/railties/databases.rake:4:in `block (2 levels) in' /usr/local/lib/ruby/1.9.1/rake.rb:634:in `call' /usr/local/lib/ruby/1.9.1/rake.rb:634:in `block in execute' /usr/local/lib/ruby/1.9.1/rake.rb:629:in `each' /usr/local/lib/ruby/1.9.1/rake.rb:629:in `execute' /usr/local/lib/ruby/1.9.1/rake.rb:595:in `block in invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' /usr/local/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/rake.rb:605:in `block in invoke_prerequisites' /usr/local/lib/ruby/1.9.1/rake.rb:602:in `each' /usr/local/lib/ruby/1.9.1/rake.rb:602:in `invoke_prerequisites' /usr/local/lib/ruby/1.9.1/rake.rb:594:in `block in invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/monitor.rb:201:in `mon_synchronize' /usr/local/lib/ruby/1.9.1/rake.rb:588:in `invoke_with_call_chain' /usr/local/lib/ruby/1.9.1/rake.rb:581:in `invoke' /usr/local/lib/ruby/1.9.1/rake.rb:2041:in `invoke_task' /usr/local/lib/ruby/1.9.1/rake.rb:2019:in `block (2 levels) in top_level' /usr/local/lib/ruby/1.9.1/rake.rb:2019:in `each' /usr/local/lib/ruby/1.9.1/rake.rb:2019:in `block in top_level' /usr/local/lib/ruby/1.9.1/rake.rb:2058:in `standard_exception_handling' /usr/local/lib/ruby/1.9.1/rake.rb:2013:in `top_level' /usr/local/lib/ruby/1.9.1/rake.rb:1992:in `run' /usr/local/bin/rake:31:in ` '
結局原因はdatabase.ymlの設定で
password:0000
こんなふうにパスワードを指定してたのですが、正しくは
password: 0000
こうやって半角スペース空けないといけないらしいです。すごくつまんないエラーでした。そもそもエラーの文にそう書いてあるのにね。
でもどのページでsyntax errorがあったかまで書いてくれればいいやん!って思う。socketでsyntax errorがあったのかと勘違いしてしまってそんななところ知らんがなってなってました。アホでしたすいません。