2013-04-29 227 views
1

请问您可以推荐一个修复程序吗?WEBrick rails服务器无法启动

补救我已经基于其他SE问题的尝试:

  • 运行捆绑安装
  • 运行gem清理
  • 运行捆绑高管轨服务器
  • 执行sudo LN -s/USR /local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib
  • 删除root密码(匹配database.yml配置文件)

安装:

  • OSX 10.8.3
  • 红宝石2.0.0p0
  • 的Rails 3.2.13
  • mysql2宝石0.3.11
  • 'mysql2' 中的Gemfile
  • Mysql 14.14 5.6.11

重现:

  • 起始位置:〜/网站/ simple_cms
  • 运行 “轨道服务器”

然后我得到以下输出:

=> Booting WEBrick 
=> Rails 3.2.13 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `connect': Unknown database 'simple_cms_development' (Mysql2::Error) 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/mysql2-0.3.11/lib/mysql2/client.rb:44:in `initialize' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `new' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/mysql2_adapter.rb:16:in `mysql2_connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:315:in `new_connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:325:in `checkout_new_connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:247:in `block (2 levels) in checkout' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `loop' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:242:in `block in checkout' 
    from /Users/rh1n0cer0s/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:239:in `checkout' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:102:in `block in connection' 
    from /Users/rh1n0cer0s/.rvm/rubies/ruby-2.0.0-p0/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:101:in `connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_pool.rb:410:in `retrieve_connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:171:in `retrieve_connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/connection_adapters/abstract/connection_specification.rb:145:in `connection' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/activerecord-3.2.13/lib/active_record/railtie.rb:88:in `block in <class:Railtie>' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/initializable.rb:30:in `instance_exec' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/initializable.rb:30:in `run' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/initializable.rb:55:in `block in run_initializers' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `each' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/initializable.rb:54:in `run_initializers' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/application.rb:136:in `initialize!' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/railtie/configurable.rb:30:in `method_missing' 
    from /Users/rh1n0cer0s/Sites/simple_cms/config/environment.rb:5:in `<top (required)>' 
    from /Users/rh1n0cer0s/Sites/simple_cms/config.ru:3:in `require' 
    from /Users/rh1n0cer0s/Sites/simple_cms/config.ru:3:in `block in <main>' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/builder.rb:51:in `instance_eval' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/builder.rb:51:in `initialize' 
    from /Users/rh1n0cer0s/Sites/simple_cms/config.ru:in `new' 
    from /Users/rh1n0cer0s/Sites/simple_cms/config.ru:in `<main>' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/builder.rb:40:in `eval' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/builder.rb:40:in `parse_file' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/server.rb:200:in `app' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands/server.rb:46:in `app' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/server.rb:304:in `wrapped_app' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/rack-1.4.5/lib/rack/server.rb:254:in `start' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands/server.rb:70:in `start' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands.rb:55:in `block in <top (required)>' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands.rb:50:in `tap' 
    from /Users/rh1n0cer0s/.rvm/gems/ruby-2.0.0-p0/gems/railties-3.2.13/lib/rails/commands.rb:50:in `<top (required)>' 
    from script/rails:6:in `require' 
    from script/rails:6:in `<main>' 

这是我的宝石列表:

actionmailer (3.2.13) 
actionpack (3.2.13) 
activemodel (3.2.13) 
activerecord (3.2.13) 
activeresource (3.2.13) 
activesupport (3.2.13) 
arel (3.0.2) 
bigdecimal (1.2.0) 
builder (3.0.4) 
bundler (1.3.5) 
coffee-rails (3.2.2) 
coffee-script (2.2.0) 
coffee-script-source (1.6.2) 
erubis (2.7.0) 
execjs (1.4.0) 
hike (1.2.2) 
i18n (0.6.1) 
io-console (0.4.2) 
journey (1.0.4) 
jquery-rails (2.2.1) 
json (1.7.7) 
mail (2.5.3) 
mime-types (1.23) 
minitest (4.3.2) 
multi_json (1.7.2) 
mysql2 (0.3.11) 
polyglot (0.3.3) 
psych (2.0.0) 
rack (1.4.5) 
rack-cache (1.2) 
rack-ssl (1.3.3) 
rack-test (0.6.2) 
rails (3.2.13) 
railties (3.2.13) 
rake (10.0.4, 0.9.6) 
rdoc (4.0.0, 3.12.2) 
rubygems-bundler (1.1.1) 
rvm (1.11.3.7) 
sass (3.2.8) 
sass-rails (3.2.6) 
sprockets (2.2.2) 
test-unit (2.0.0.0) 
thor (0.18.1) 
tilt (1.3.7) 
treetop (1.4.12) 
tzinfo (0.3.37) 
uglifier (2.0.1) 

我的database.yml

development: 
     adapter: mysql2 
     encoding: utf8 
     reconnect: false 
     database: simple_cms_development 
     pool: 5 
     username: root 
     password: 
     socket: /tmp/mysql.sock 

    test: 
     adapter: mysql2 
     encoding: utf8 
     reconnect: false 
     database: simple_cms_test 
     pool: 5 
     username: root 
     password: 
     socket: /tmp/mysql.sock 

    production: 
     adapter: mysql2 
     encoding: utf8 
     reconnect: false 
     database: simple_cms_production 
     pool: 5 
     username: root 
     password: 
     socket: /tmp/mysql.sock 
+0

您的mysql是否在OSX中正确配置?你可以在你的终端使用'mysql -uroot'来访问它吗? – kiddorails 2013-04-29 16:46:29

+0

谢谢@kiddorails - 我认为是这样的......我将它设置为w /密码,并且可以使用终端登录。这可能与密码没有出现在database.yml配置中有关吗? – djmb 2013-04-29 17:05:41

+0

如果你在'root'帐号上有密码,那么你必须在database.yml中指定:) – kiddorails 2013-04-29 17:09:24

回答

1

你有没有运行rake db:create创建数据库?之后,rails server应该工作。

+0

嗨Nathan - 我创建了数据库并将其链接到我的ruby项目(simple_cms)...已经有一个database.yml(见上文)。我会尝试你的建议,但在我做之前是否有一个原因,耙将工作,而不是?我是否需要在目录结构的某个级别运行它? – djmb 2013-04-29 19:55:44

+0

Nathan和@Sparda谢谢...服务器运行时使用rake db:create ...我安装了mysql并创建了数据库,但没有执行此步骤,并且认为它已经创建了 – djmb 2013-04-29 20:12:51

+0

嘿,有任何机会可以请您将此答案标记为正确?谢谢 – ndbroadbent 2013-04-29 22:04:27

0

尝试在终端做这个,然后开始你的WEBrick服务器的内容。

sudo ln -s /usr/local/mysql/lib/libmysqlclient.18.dylib /usr/lib/libmysqlclient.18.dylib 

编辑:从这里得到了解决,好像它可能是你是同样的情况

+0

谢谢@JoshEmory - 你知道这是做什么或为什么它的作品?如果使用不当,sudo也会造成伤害。 – djmb 2013-04-29 17:09:05

+0

@djmb是的sudo命令可以造成伤害。但是这个特殊的命令实际上不会对你的电脑造成任何伤害。基本上,libmysqlclient.18.dylib文件似乎安装在与正在查看的位置不同的位置(在许多这些计算机上)。这个命令正在创建一个符号链接,以供rails在寻找它。符号链接只是一个小指针文件,所以如果有人在具有符号链接的地方查看它,他们实际上会从其他位置看到该文件。把它想象成一个副本,而不是真正的复制,它只是指向。 – JoshEmory 2013-04-29 17:12:33

+0

感谢您的深思熟虑Josh – djmb 2013-04-29 17:18:12