Не могу установить gem mysql2... (вспомогательные материалы тоже на домашнем пиве)

Хорошо, чувствую себя очень глупо, задавая вопрос, который, по-видимому, задавался несколько раз. заранее извиняюсь.

Я следую этому уроку: http://squarism.com/2011/04/01/how-to-write-a-ruby-rails-3-rest-api/

это требует mysql2 ...

попытался установить его через "gem install mysql2"

вот что я получаю:

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

    /Users/name_withheld/.rvm/rubies/ruby-1.9.3-p194/bin/ruby extconf.rb
checking for rb_thread_blocking_region()... yes
checking for rb_wait_for_single_fd()... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lm... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lz... yes
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lsocket... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lnsl... no
checking for mysql_query() in -lmysqlclient... no
checking for main() in -lmygcc... no
checking for mysql_query() in -lmysqlclient... no
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of
necessary libraries and/or headers.  Check the mkmf.log file for more
details.  You may need configuration options.

Provided configuration options:
--with-opt-dir
--with-opt-include
--without-opt-include=${opt-dir}/include
--with-opt-lib
--without-opt-lib=${opt-dir}/lib
--with-make-prog
--without-make-prog
--srcdir=.
--curdir
--ruby=/Users/name_withheld/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
--with-mysql-config
--without-mysql-config
--with-mysql-dir
--without-mysql-dir
--with-mysql-include
--without-mysql-include=${mysql-dir}/include
--with-mysql-lib
--without-mysql-lib=${mysql-dir}/lib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mlib
--without-mlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-zlib
--without-zlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-socketlib
--without-socketlib
--with-mysqlclientlib
--without-mysqlclientlib
--with-nsllib
--without-nsllib
--with-mysqlclientlib
--without-mysqlclientlib
--with-mygcclib
--without-mygcclib
--with-mysqlclientlib
--without-mysqlclientlib


Gem files will remain installed in /Users/name_withheld/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11 for inspection.
Results logged to /Users/name_withheld/.rvm/gems/ruby-1.9.3-p194/gems/mysql2-0.3.11/ext/mysql2/gem_make.out

Итак, осмотрелся и увидел, что это решение предлагается несколько раз:

sudo apt-get install libmysql-ruby libmysqlclient-dev

к сожалению, я получаю: "команда не найдена" ...

вид в растерянности...

хотел сделать это с помощью доморощенного (так как это казалось "простым") ... но есть несколько проблем с этим...

  • действительно незнаком с этим...
  • не уверен, есть ли у меня это или нет...

Итак, попробовал обновить Brew, чтобы увидеть, что я получу... вот что я получил:

/usr/local/.git: Permission denied
Error: Failure while executing: git init 

поэтому... попытался удалить его с помощью этого кода здесь: https://gist.github.com/1173223

похоже, он ничего не сделал, и он как бы замерз, так что брось...

не знаю, что делать сейчас... первым приоритетом явно является попытка установить gem mysql2, если это возможно... homebrew - просто побочные вещи...

любая другая информация нужна здесь? Любое уточнение нужно с моим вопросом? и извините, не хотел делать этот вопрос так долго! просто пытаюсь охватить как можно больше баз.

заранее спасибо.

о, моя версия Mac 10.6.8, если это имеет какое-то значение...

только что попробовал еще одну вещь: "brew install mysql" (через другой вопрос stackru)

вот что я получаю:

Error: Cannot write to /usr/local/Cellar

1 ответ

Решение

Несколько вещей:

apt-get это инструмент для установки пакетов для Linux, поэтому эти команды не будут работать на вашем Mac.

У вас есть проблема с разрешениями /usr/local каталог, который вызывает ошибки с brew update а также brew install, Чтобы это исправить, вы можете дать себе право собственности с помощью следующей команды:

sudo chown -R $USER /usr/local

Есть некоторые предостережения с этим, так что ознакомьтесь с этой веткой: Ошибки установки в Homebrew

Далее у вас нет mysql установлены. mysql2 драгоценный камень не устанавливается mysql; это просто библиотека Ruby, которая позволяет подключаться к работающему mysql процесс с кодом Ruby. Я не верю, что вы можете установить гем, если процесс не установлен и не запущен, что объясняет, что большой уродливый след от стека gem install mysql2,

Итак, после обновления /usr/local разрешения, повторите brew install mysql и следуйте инструкциям, чтобы запустить службу. Вы можете подтвердить, что это работает, если вы видите mysqld или же mysqld_safe процесс демона, работающий с такой командой ps ax | grep mysqld, Предполагая, что это работает, вы сможете установить mysql2 драгоценный камень.

Другие вопросы по тегам