1

OS バージョン: Mac OS X 10.7.1 Lion
Ruby バージョン: ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-darwin11.1.0]
Ruby 場所: /usr/local/rvm/bin/ruby
Rails バージョン: Rails 3.1.0
Rails 場所: /usr/local/rvm/gems/ruby-1.9.2-p290/bin/rails

ここで、mysql2 gem をインストールしました。実行するgem listと、リストに次のように表示されます。mysql2 (0.3.7)

ここまでは順調ですよね?わかりました、ここが難しいところです。何をしてもサーバーを起動できません。ターミナルで、私のレール アプリがあるディレクトリに cd して実行しますrails s。ただし、開始する代わりに、次のようになります。

/usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2.rb:9:in `require': dlopen(/usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
  Referenced from: /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle
  Reason: image not found - /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/mysql2-0.3.7/lib/mysql2.rb:9:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `require'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:68:in `block (2 levels) in require'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `each'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:66:in `block in require'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `each'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler/runtime.rb:55:in `require'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/bundler-1.0.18/lib/bundler.rb:120:in `require'
    from /Users/doug/Sites/simple_cms/config/application.rb:7:in `<top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:52:in `require'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:52:in `block in <top (required)>'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:49:in `tap'
    from /usr/local/rvm/gems/ruby-1.9.2-p290/gems/railties-3.1.0/lib/rails/commands.rb:49:in `<top (required)>'
    from script/rails:6:in `require'
    from script/rails:6:in `<main>'

明らかに、これは起こるべきことではありません。問題は、なぜそうでないのか理解できないことです。私が遭遇した解決策はどれもうまくいきませんでした。

Ruby/RoR を自分のコンピューターで動作させるのは、実はこれが初めての試みです。私は Lynda.com のチュートリアルに従っていますが、当然のことながら、これはビデオを作成している人物には起こりません。

私は検索を試みましたが、私が言ったように、何も役に立たないようです。アイデア?

4

1 に答える 1

2
install_name_tool -change libmysqlclient.18.dylib /usr/local/mysql/lib/libmysqlclient.18.dylib ~/.rvm/gems/ruby-1.9.2-p290@[gemset name]/gems/mysql2-0.3.7/lib/mysql2/mysql2.bundle

[gemset name] = 使用している gemset の名前 -- 設定していない場合は、rvm を取得する際の主要なポイントの 1 つであるため、設定する必要があります。

それが役立つことを願っています

于 2011-09-27T03:51:16.733 に答える