Я боролся с этим в течение нескольких часов. Все просто перестало работать, и я больше не могу заставить его работать. Я новичок в Ruby, Ruby on Rails и терминале в целом. Это действительно расстраивает меня, поэтому я просто пытаюсь описать мою проблему как можно более подробно, надеясь, что кто-то может дать мне решение.
Я на Mac OS X Snow Leopard. Сейчас я не могу заставить Rails работать вообще: Не могу найти головные боли у 'gem' 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 документации на рельсы-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, поэтому я пытаюсь начать новый проект.
rails new user_group -d mysql
Это работает! Rails установлен правильно. Теперь я пытаюсь сгенерировать модель.
cd user_group
rails generate model User
Ошибка с этой ошибкой:
Не удалось найти камень 'mysql2 (> = 0, время выполнения)' ни в одном из источников драгоценных камней, перечисленных в вашем файле 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
Это насколько я могу получить. Что я должен делать? И почему это должно быть так сложно ...