Я боролся с этим в течение нескольких часов. Все просто перестало работать, и я больше не могу работать. Я ноб у Ruby, Ruby on Rails и Terminal в целом. Это действительно расстраивает меня, поэтому я просто пытаюсь описать свою проблему как можно подробнее, надеясь, что кто-то сможет дать мне решение.
Я нахожусь в Mac OS X Snow Leopard. Я не мог заставить Rails работать вообще сейчас: Не удалось найти головные боли жемчужины
Но после некоторых попыток переустановки, он внезапно снова работал. Но теперь я просто не могу заставить MySQL работать, и иногда он даже снова разрушает установку Rails.
Это то, что я делаю:
sudo gem uninstall rails
sudo gem uninstall mysql
sudo gem uninstall mysql2
После этих команд я проверю установленные драгоценные камни на gem list
. В настоящее время ничего не отображается в MySQL, но я все еще вижу rails (2.3.5, 2.2.2, 1.2.6)
. Это нормально? Означает ли это, что у меня есть 3 установки Rails? Это не имеет смысла для меня. В любом случае, я делаю это:
sudo gem clean
Что не удается полностью. Я получаю кучу таких ошибок:
Попытка удалить fcgi-0.8.7
Не удалось удалить fcgi-0.8.7:
Gem:: InstallError: не удается удалить, проверьтеgem list -d fcgi
Он ничего не удаляет. На этом этапе я пытаюсь установить все снова. Я начинаю с:
sudo gem install rails
Что происходит (я думаю):
Успешно установленные рельсы-3.0.3
Успешно установлен строитель-2.1.2
Установлено 2 камня Установка ri-документации для rails-3.0.3...
Файл не найден: lib
Затем я обновляю RubyGems:
sudo gem update --system
sudo gem install rubygems-update
sudo update_rubygems
Тогда он говорит, что я установил 1.3.7, поэтому мне это удалось. Итак, теперь я приступаю к установке MySQL. У меня уже установлен MySQL 5.5.8 на моей машине. Я провел некоторое исследование об установке MySQL на Snow Leopard, и мне кажется, что я должен использовать эту команду:
sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
Я получаю кучу таких ошибок:
Нет определения для time_set_neg
Нет определения для time_set_second_part
Нет определения для time_equal
Нет определения для error_errno
На этом этапе я предполагаю, что у меня установлены оба Rails и MySQL gem, поэтому я пытаюсь запустить новый проект.
rails new user_group -d mysql
Это работает! Rails установлен правильно. Теперь я пытаюсь создать модель.
cd user_group
rails generate model User
Ошибка этой ошибки:
Не удалось найти gem 'mysql2 ( >= 0, runtime)' в любом из источников драгоценных камней, перечисленных в вашем Gemfile.
Попробуйте запуститьbundle install
.
Итак, я пытаюсь запустить bundle install
. Он устанавливает много драгоценных камней. Затем я снова пытаюсь создать свою модель. Я получаю эту ошибку:
Библиотека/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle: dlopen (/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle, 9): библиотека не загружена: libmysqlclient.16.dylib(LoadError)
Ссылки:/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Причина: изображение не найдено -/Library/Ruby/Gems/1.8/gems/mysql2-0.2.6/lib/mysql2/mysql2.bundle
Это насколько я могу получить. Что мне делать? И почему это должно быть так сложно...