3

私は長い間レールに問題がありました、私はここで見つけた同様の問題に対して多くの答えを試しましたが、それらのいくつかはいくつかのエラーで効果的でしたが、私は立ち往生してこれを解決できませんでしたが、私はほとんどの解決策を試しました私が見つけて最終的に自問することにした同様の質問については、このエラーは、この特定のプロジェクトのサーバーを起動したときにのみ発生しますが、サーバーは新しい空のレールプロジェクトに対して正常に起動します。

$ rails server
/Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.3.11/lib/mysql2.rb:9:in    `require': dlopen(/Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/mysql/lib/libmysqlclient.18.dylib (LoadError)
Referenced from: /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
Reason: no suitable image found.  Did find:
/usr/local/mysql/lib/libmysqlclient.18.dylib: mach-o, but wrong architecture
/usr/local/mysql/lib/libmysqlclient.18.dylib: mach-o, but wrong architecture
/usr/lib/libmysqlclient.18.dylib: mach-o, but wrong architecture - /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/mysql2-0.3.11/lib/mysql2.rb:9:in `<top (required)>'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `require'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `each'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:66:in `block in require'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `each'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler/runtime.rb:55:in `require'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320@global/gems/bundler-1.2.1/lib/bundler.rb:128:in `require'
from /Users/celorisoli/logbook/config/application.rb:7:in `<top (required)>'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.6/lib/rails/commands.rb:53:in `require'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.6/lib/rails/commands.rb:53:in `block in <top (required)>'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.6/lib/rails/commands.rb:50:in `tap'
from /Users/celorisoli/.rvm/gems/ruby-1.9.2-p320/gems/railties-3.2.6/lib/rails/commands.rb:50:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'

ほとんどの回答は「画像が見つかりません」という問題に役立ちますが、ここでのエラーは次のとおりです。

Reason: no suitable image found.  Did find:
4

1 に答える 1

3

libmysqlclient.18.dylib が実際にマシン上のどこにあるかを見つけて、正しいパスでバンドルを更新する必要があります。

たとえば、私のエラーメッセージは次のとおりです。

/Users/rbotzer/.rvm/rubies/ruby-1.9.3-p392/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:「必要」: dlopen(/Users/rbotzer/.rvm /gems/ruby-1.9.3-p392/gems/mysql-2.9.1/lib/mysql/mysql_api.bundle、9): ライブラリがロードされていません: libmysqlclient.18.dylib (LoadError)

/usr/local/mysql-5.6.16-osx10.7-x86_64/lib/libmysqlclient.18.dylib に libmysqlclient.18.dylib を見つけました

バンドルを更新するには:

sudo install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql-5.6.16-osx10.7-x86_64/lib/libmysqlclient.18.dylib ~/.rvm/gems/ruby-1.9.3-p392/gems/ mysql-2.9.1/lib/mysql/mysql_api.bundle

これで問題は解決しました。

于 2014-03-15T21:29:26.663 に答える