Rails на Mac OS X Snow Leopard: mysql2.bundle dlsym - Символ не найден (LoadError) - PullRequest
3 голосов
/ 25 мая 2011
  • Платформа: Mac OS X (macosx) 10.6.6
  • Ruby: 1.9.2
  • Rails: 3.0.3
  • Использование RVM

Это ошибка, которую я получаю:

$ 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

Это очень постоянная ошибка.Вот еще некоторая информация, которая может помочь решить ее:

  • В прошлом я обновился с Leopard до Snow Leopard.
  • Я пробовал установить комплект.
  • Я попытался стереть ~ / .rvm и переустановить RVM
  • Я попытался: env ARCHFLAGS = "- arch x86_64" gem install mysql2 -v 0.2.7
  • Я попытался установить последнюю версию mysql (mysql-5.5.12-osx10.6-x86_64.dmg) поверх того, что было в моей системе mysql до

Вот еще немного информации о моей системе:

$ 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

1 Ответ

1 голос
/ 25 мая 2011

which ruby говорит, что вы используете не рубин, поставляемый RVM.После установки RVM и ruby ​​вы должны указать RVM использовать его:

rvm use --default 1.9.2

Если вы еще не установили ruby ​​в RVM, его необходимо установить перед использованием:

rvm install 1.9.2

После этого вам, вероятно, потребуется снова установить rails, поскольку ваша текущая версия, вероятно, установлена ​​с системным ruby, а не с RVM.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...