команда сервера rails не может найти библиотеки - PullRequest
1 голос
/ 02 февраля 2012

Я установил rails, mysql2 gem и mysql и создал проект с названием simple_cms, используя rails new simple_cms -d mysql. Теперь, когда я выполняю rails server, чтобы запустить WEBricks, я получаю это ведро радости:

/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle: dlopen(/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle, 9): Library not loaded: /usr/local/mysql/lib/libmysqlclient.16.dylib (LoadError)
  Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
  Reason: image not found - /Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundle
    from /Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2.rb:9
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:68:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:66:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `each'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler/runtime.rb:55:in `require'
    from /Library/Ruby/Gems/1.8/gems/bundler-1.0.21/lib/bundler.rb:122:in `require'
    from /Users/tyre77/Dropbox/Broetry In Motion/RailsTestApp/simple_cms/config/application.rb:7
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.1/lib/rails/commands.rb:53:in `require'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.1/lib/rails/commands.rb:53
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.1/lib/rails/commands.rb:50:in `tap'
    from /Library/Ruby/Gems/1.8/gems/railties-3.2.1/lib/rails/commands.rb:50
    from script/rails:6:in `require'
    from script/rails:6

Я изменил свой .bash_profile, чтобы он выглядел так: (не уверен, если это уместно)

PS1="\u \w$ "
alias ll="ls -lahG"

export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/$PATH"


# include .bashrc if it exists
if [ -f $HOME/.bashrc ]; then
    . $HOME/.bashrc
fi

# startup virtualenv-burrito
if [ -f $HOME/.venvburrito/startup.sh ]; then
    . $HOME/.venvburrito/startup.sh
fi

См: Невозможно запустить сервер rails , но моя версия mysql отличается, и это не решает проблему даже при изменении 0.2.6 на 0.3.11

1 Ответ

2 голосов
/ 02 февраля 2012

Проблема в том, что Ruby не может найти библиотеки, необходимые для сборки гема MySQL, есть много способов исправить это, но, похоже, вы только начинаете работать на Ruby, я думаю, стоит подготовить вашу средутак что вы больше не видите такого рода вещи, вот шаги:

Сначала я бы порекомендовал вам установить Homebrew , с установленным Homebrew, установить MySQL:

brew install mysql

Это установит MySQL на ваш компьютер, включая необходимые библиотеки для сборки гема MySQL, когда вам это нужно.

Затем вам нужно установить RVM для установки ваших рубинов (перед установкойRVM нужно запустить brew install git ).Установив RVM, вы можете начать установку любых рубинов, которые захотите.

И затем вы спросите, почему вы не можете использовать встроенный Ruby?Rails прекратит поддержку ветки Ruby 1.8. * В 4.0, и сообщество в целом использует RVM (или rbenv ) для установки и управления рубинами, установленными на вашем компьютере.

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