2012-02-01 2 views
1

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

/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 

См: Unable to start rails server, но моя версия mysql отличается и не решает ее даже с изменением 0.2.6 до 0.3.11

+0

Как вы установили MySQL? Кроме того, почему вы используете Ruby от Apple вместо RVM или rbenv? –

+0

@ MaurícioLinhares Я установил его через dev.mysql.com и использовал DMG. – Chris

+0

@ MaurícioLinhares, почему бы мне не использовать встроенный Ruby? – Chris

ответ

2

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

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

brew install mysql 

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

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

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

+0

Удивительный! Так ли доморощенный, как virtualenv? И если я уже загрузил mysql DMG, мне нужно сделать это снова (кажется, мне нужен tar)? – Chris

+0

Удалите MySQL, который вы установили полностью, и пусть он будет установлен с доморощенным. ** RVM ** близок к virtualenv. –