Снег Леопард rubygems mysql2 и конфигурация MAMP для ruby ​​на рельсах выпускают - PullRequest
2 голосов
/ 06 октября 2011

Это мой конфиг:

рельсы 2.3.5
Рубин 1.8.7
драгоценный камень 1.8.11
mamp 2.0.3 (который использует Mysql 5.5)

При создании нового проекта Rails с MySQL в качестве базы данных я получаю сообщение об ошибке:

An error occured while installing mysql2 (0.3.7), and Bundler cannot continue.
Make sure that `gem install mysql2 -v '0.3.7'` succeeds before bundling.

Я полагаю, это потому, что гемам не удается найти файлы MAMP mysql. Так что в руководстве говорится, что я должен загрузить библиотеки MAMP и скомпилировать их без сервера, чтобы затем я мог указать драгоценный камень на эти файлы. Проблема в том, что все учебники используют ./configure, который больше не работает для Mysql 5.5, вместо этого вы должны использовать cmake. В этом руководстве: http://blog.mirotin.net/35/mamp-1-9-5-mysql-5-5-9-and-ruby-mysql2 упоминается способ сделать это с помощью cmake, но для меня эта команда не работает:

sudo port install cmake

не может найти командный порт. Итак, я попробовал с homebrew sudo brew установить cmake, который дает:

Cowardly refusing to `sudo brew install'

Итак ... Какие у меня варианты? Кажется, что все рельсы и rubygems работают, я просто указываю на библиотеки MAMP mysql, с которыми у меня проблема, я очень плохо знаком с рельсами (начался вчера). Любая помощь будет оценена.

Спасибо.

1 Ответ

4 голосов
/ 06 октября 2011

В конце концов установка cmake без sudo (кто бы мог подумать?) Сработала:

brew install cmake 

Затем я следовал инструкциям на этой странице: http://blog.mirotin.net/35/mamp-1-9-5-mysql-5-5-9-and-ruby-mysql2

и всеКажется, работает.Также для тех из нас, кто плохо знаком с ruby ​​on rails, вам может понадобиться отредактировать config / database.yml и добавить директиву socket, указывающую на сокет MAMP:

socket: / Applications / MAMP / tmp / mysql /mysql.sock

Надеюсь, это поможет кому-то еще.

PSЯ обязательно отмечу это как ответившее и высоко оцениваю его, тем самым демонстрируя признательность за себя, чтобы я мог ответить на свои будущие вопросы!

...