[英]Rails on Mac OS X Snow Leopard: mysql2.bundle dlsym - Symbol not found (LoadError)
This is the error I am getting:这是我得到的错误:
$ rails s
/Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlsym(0x13782a0, Init_mysql2): symbol not found - /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle (LoadError)
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/mysql2-0.2.7/lib/mysql2.rb:8
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in `require'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler/runtime.rb:68:in `require'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in `each'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler/runtime.rb:66:in `require'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in `each'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler/runtime.rb:55:in `require'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/bundler-1.0.13/lib/bundler.rb:120:in `require'
from /Users/nicolas/git/hits/config/application.rb:7
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.6/lib/rails/commands.rb:28:in `require'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.6/lib/rails/commands.rb:28
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.6/lib/rails/commands.rb:27:in `tap'
from /Users/nicolas/.rvm/gems/ruby-1.9.2-p180/gems/railties-3.0.6/lib/rails/commands.rb:27
from script/rails:6:in `require'
from script/rails:6
This a very persistent error.这是一个非常持久的错误。 Here is some more info, that may help resolve it:这是一些更多信息,可能有助于解决它:
Here is some more info about my system:以下是有关我的系统的更多信息:
$ echo $DYLD_LIBRARY_PATH
/usr/local/mysql/lib:
$ file ~/.rvm/rubies/default/bin/ruby
/Users/nicolas/.rvm/rubies/default/bin/ruby: Mach-O 64-bit executable x86_64
$ file /usr/local/mysql/lib/libmysqlclient.18.dylib
/usr/local/mysql/lib/libmysqlclient.18.dylib: Mach-O 64-bit dynamically linked shared library x86_64
$ rvm list
rvm rubies
=> ruby-1.9.2-p180 [ x86_64 ]
$ which ruby
/opt/local/bin/ruby
$ file /opt/local/bin/ruby
/opt/local/bin/ruby: Mach-O executable i386
which ruby
says that you're using not the RVM supplied ruby. which ruby
表示您使用的不是 RVM 提供的 ruby。 After installing RVM and a ruby, you have to tell RVM to use it:安装 RVM 和 ruby 后,您必须告诉 RVM 使用它:
rvm use --default 1.9.2
If you haven't installed ruby on RVM yet then you have to install it before using:如果您尚未在 RVM 上安装 ruby,那么您必须在使用前安装它:
rvm install 1.9.2
After that you will probably need to install rails again, as your current version is probably installed with the system ruby and not RVM.之后,您可能需要再次安装 rails,因为您当前的版本可能安装了系统 ruby 而不是 RVM。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.