MySQL gem в OS X Snow Leopard с RVM и REE 1.8.7 никогда не собирается правильно - PullRequest
1 голос
/ 02 мая 2011

Проблема решена: MySQL 2.8.1 Gem плохо работает с MySQL 5.5.x

Решением было удаление MySQL (используя доступные инструкции здесь ). А затем установите MySQL 5.1.56 с помощью установщика x86_64 из MySQL.com

Я сбросил разрешения для своей папки .rvm, как предложено ниже, а затем установил гем MySQL в соответствии с инструкциями на сайте RVM.

Успех!

Оригинальный вопрос:

Я бегу:

  • OSX 10.6.7 на 64-битном MacBook Air с процессором Core2Duo
  • RVM 1.6.5
  • ruby ​​1.8.7 (2011-02-18 patchlevel 334) [i686-darwin10.7.0], MBARI 0x6770, Ruby Enterprise Edition 2011.03 / Mach-O 64-разрядный исполняемый файл x86_64 (эта версия Ruby установлена ​​как --default )
  • MySQL 5.5.11 / Mach-O 64-разрядный исполняемый файл x86_64 (устанавливается с помощью установщика MySQL.com DMG)

Я пытался установить гем MySQL, используя каждую команду в сети. Запуск rake db:migrate выдает ошибку uninitialized constant MysqlCompat::MysqlRes

Все следующие команды установки приводят к uninitialized constant MysqlCompat::MysqlRes

  1. rvmsudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
  2. sudo env ARCHFLAGS="-arch x86_64" rvmsudo gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
  3. sudo env ARCHFLAGS="-arch x86_64" rvmsudo gem install mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include

И эти команды даже не устанавливаются. Я просто получаю эту ошибку: Permission denied - /Users/Jake/.rvm/gems/ree-1.8.7-2011.03/gems/mysql-2.8.1/COPYING

  1. gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
  2. env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
  3. sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
  4. sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-dir=/usr/local/mysql --with-mysql-lib=/usr/local/mysql/lib --with-mysql-include=/usr/local/mysql/include

Я также поместил rvm_archflags="-arch x86_64" в ~/.rvmrc. Это не имело никакого эффекта.

Я взорвал RVM и начал с нуля дважды. Я также удалил и переустановил MySQL.

Что я делаю не так? Что еще я могу попробовать? Спасибо за вашу помощь!

Ответы [ 3 ]

1 голос
/ 22 ноября 2011

попробуйте

cd `rvm gemdir`
gem install mysql -- --with-mysql-config=/usr/local/mysql/bin/mysql_config
1 голос
/ 02 мая 2011

Правило № 1, при работе с RVM. Do NOT use sudo.

НЕ используйте sudo ...

для работы с гемами RVM.Когда вы выполняете команду sudo, вы запускаете команды от имени пользователя root, другой пользователь в другой оболочке и, следовательно, все настройки, выполненные для вас RVM, игнорируются, пока команда выполняется под командой sudo (такие как GEM_HOME и т. Д.).Итак, повторяю, как только вы выполняете sudo, вы работаете как пользователь корневой системы, который очистит вашу среду, а также любые файлы, которые она создает, не сможет быть изменен вашим пользователем и приведет к странным вещам.(Вы начнете думать, что у кого-то есть кукла вуду вашего приложения ...)

Все ваши права доступа испорчены, потому что вы использовали sudo, поэтому вы должны это исправить:

sudo chown -R Jake ~/.rvm

должен вернуть вам право владения всеми файлами.

После этого следуйте инструкциям на сайте RVM для работы с MySQL .НЕ следуйте указаниям по всему Интернету, потому что никто не знает лучше, чем автор RVM, когда дело доходит до того, чтобы заставить его работать с ним.

0 голосов
/ 03 мая 2011

В будущем вы можете попробовать использовать Homebrew для установки mysql. Вот некоторые шаги полной установки, которые я много раз выполнял на OS X:

http://michaelfarmer.info/preferred-rails-3-and-mysql-installation-on-o

...