MySQL Gem для Ruby On Rails

#mysql #ruby-on-rails #ruby #ruby-on-rails-3

#mysql #ruby-on-rails #ruby #ruby-on-rails-3

Вопрос:

Я искал везде, и никакие решения не решают мою проблему. Я создавал приложения rails, используя SQLite, но не MySQL. Для этого конкретного проекта мне нужен MySQL. Когда я пытаюсь загрузить сервер, я получаю сообщение об ошибке, поэтому я пытаюсь установить gems для MySQL и получаю другую ошибку. У кого-нибудь есть какое-либо представление? Спасибо!

     rails server
    Could not find gem 'mysql2 (>= 0)' in any of the gem sources listed in your Gemfile.

    sudo gem install mysql2
    Building native extensions.  This could take a while...
    ERROR:  Error installing mysql2:
        ERROR: Failed to build gem native extension.

            /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby extconf.rb
    mkmf.rb can't find header files for ruby at /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/ruby.h


    Gem files will remain installed in /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7 for inspection.
    Results logged to /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/ext/mysql2/gem_make.out
  

Комментарии:

1. Похоже, вы используете OSX … какую версию? Установлены ли у вас средства разработки (Xcode) для вашей версии OSX?

2. Как вы установили mysql на свой компьютер с Os x?

3. В OS X уже должен быть установлен MySQL… но вы также можете загружать двоичные файлы с веб-сайта MySQL .

4. Работает под управлением 10.6.6. Я пытаюсь использовать MAMP в качестве сервера MySQL, но я полагаю, что у меня установлен MySQL непосредственно из двоичного файла.

5. переустановил сервер через двоичный файл, но теперь получаю это: dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle Expected in: flat namespace dyld: Symbol not found: _mysql_get_client_info Referenced from: /Library/Ruby/Gems/1.8/gems/mysql2-0.2.7/lib/mysql2/mysql2.bundle Expected in: flat namespace Trace/BPT trap

Ответ №1:

У меня была эта проблема. Вам необходимо установить mysql gem с собственными расширениями.

Строка, которую вы, вероятно, ищете, это:

 $ ARCHFLAGS="-arch x86_64" gem install mysql2 --version '~> 0.2.7' -- --with-mysql-config=/usr/local/mysql/bin/mysql_config 
  

Полная информация о том, как это сделать, приведена здесь: http://softwaregravy.com/mysql-on-os-x-rails-3-0-7 /