Сервер Rails не запускается (LoadError) mysql2 - PullRequest
0 голосов
/ 15 июня 2011

Я вроде новичка в рельсах, я должен сделать небольшой проект рельсов для школы, но почему-то я даже не могу запустить свой сервер, действительно многообещающее начало, надеюсь, кто-нибудь может мне помочь ;-).

При попытке запустить сервер rails выдается ошибка загрузки:

/Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle, 9): Library not loaded: libmysqlclient.18.dylib (LoadError)
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle
    from /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2.rb:8
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:66:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:66:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:55:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler/runtime.rb:55:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.14/lib/bundler.rb:120:in `require'
    from /Users/sanderdeclerck1/Sites/simple_cms/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:28:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:28
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:27:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.0.8/lib/rails/commands.rb:27
    from script/rails:6:in `require'
    from script/rails:6

Я использую rails 3.0.8 и ruby ​​1.8.7

Кто-нибудь получил какие-либо предложения?

edit: забыл упомянуть, что я на OS X 10.6.7

Ответы [ 5 ]

1 голос
/ 15 июня 2011

Попробуйте добавить export DYLD_LIBRARY_PATH=/usr/local/mysql/lib/:$DYLD_LIBRARY_PATH к вашему ~/.profile.Если ваша установка mysql находится не в /usr/local, вам придется изменить этот путь.

1 голос
/ 15 июня 2011

Полагаю, вы работаете в OS X, поэтому вам следует сначала установить MySQL , прежде чем загружать MySQL Gem.

Два варианта:

  1. Следуйте этому руководству здесь или этому чуть более старому руководству о том, как все настроить (MySQL, Ruby и Rails). На самом деле этого должно быть достаточно, если вы устанавливаете MySQL с официального сайта, но из моего опыта мне придется немного повозиться с ним раньше.

  2. Вы также можете установить MySQL через Homebrew . Вот руководство для этого. Обратите внимание, что вы должны вручную запустить его с

    launchctl load ~/Library/LaunchAgents/com.mysql.mysqld.plist
    
0 голосов
/ 15 июня 2011

вам может понадобиться просто переустановить гем mysql2.

сначала вы должны найти свой mysql_config.Вы можете сделать это, набрав:

sudo find /usr/local -name mysql_config

, затем установите гем с помощью

(sudo) gem install mysql2 -- --with-mysql-config=RESULT_FROM_ABOVE

. Это должно дать вам гем, настроенный для вашей установки mysql.Надеюсь, это поможет.

0 голосов
/ 15 июня 2011

Как вы установили MySQL? Вам может потребоваться указать --with-lib или --with-mysql-dir при установке гема MySQL.

gem install mysql2 -- '--with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include'
0 голосов
/ 15 июня 2011

Если вы используете Ubuntu, попробуйте установить apt-get install ruby-dev libmysql-ruby libmysqlclient-dev пакет

...