2014-08-28 3 views
0

Я установил MySQL с использованием Homebrew (brew install mysql), а затем побежал $ gem install mysql2. Я нахожусь на Mac под управлением OSX 10.9.4.Нельзя грабли: db migrate - Продолжайте получать «рейк прерван! load error '

Я изменил каталоги в корне моего приложения, а затем попытаться выполнить команду rake db:migrate, и получил эту ошибку:

Levine_iMac$ rake db:migrate 
rake aborted! 
LoadError: dlopen(/Users/Levine_iMac/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle, 9): Symbol not found: _SSLv2_client_method 
    Referenced from: /Users/Levine_iMac/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle 
    Expected in: /usr/local/opt/openssl/lib/libssl.1.0.0.dylib 
in /Users/Levine_iMac/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle - /Users/Levine_iMac/.rbenv/versions/2.1.1/lib/ruby/2.1.0/x86_64-darwin13.0/openssl.bundle 
/Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/config/application.rb:3:in require' 
/Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/config/application.rb:3:in <top (required)>' 
/Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/Rakefile:4:in <top (required)>' 
(See full trace by running task with --trace) 
Levine_iMac$ 

Я пытался что-то добавить к моему .bash_profile, как описано here, но это не сработало.

Я попробовал команду sudo, как описано here, но это не сработало.

Затем я попытался обновить свою версию Ruby, от 2.1.1 .. до 2.1.2 .., и теперь я получаю эту ошибку, когда я запускаю грабли: дб перенастройки

Levine_iMac$ rake db:migrate rake aborted! cannot load such file -- bundler/setup /Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/config/boot.rb:4:in '<top (required)>' /Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/config/application.rb:1:in '<top (required)>' /Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/Rakefile:4:in '<top (required)>' (See full trace by running task with --trace) Levine_iMac$ bundle install rbenv: bundle: command not found The 'bundle' command exists in these Ruby versions: 2.1.1 Levine_iMac$

Любые идеи о как исправить это? Благодарю.

+0

Я пытался что , Теперь я получаю эту ошибку, когда я запускаю rake: db migrate 'Levine_iMac $ rake db: migrate rake aborted! не может загрузить такой файл - bundler/setup /Users/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/config/boot.rb:4:in '' /Пользователи/Levine_iMac/Dropbox/Coding /Sandbox/simple_cms2/config/application.rb:1:in '' /Пользователи/Levine_iMac/Dropbox/Coding/Sandbox/simple_cms2/Rakefile: 4: in '' (См. Полный след, выполнив задачу с помощью --trace) Установка пакета Levine_iMac $ rbenv: bundle: команда не найдена Команда «bundle» существует в этих версиях Ruby: 2.1.1' – HPJAJ

+0

В конце есть ключ line: "command not found Команда" bundle "существует в этих версиях Ruby: 2.1.1". Попробуйте 'gem install bundler' (требуется после обновления ruby). – cydparser

+0

Это сработало. Спасибо @patwise! И спасибо всем, кто внес свой вклад. – HPJAJ

ответ

0

Хорошо, что вы точно ожидаете, когда будете запускать rake db: migrate? Будет ли следующий шаг для вас? Если вы можете ответить на этот вопрос, вы поймете, почему то, что вы делаете, не имеет смысла.

Я подробно:

грабли БД: мигрировать работает только в контексте существующего приложения рельсы. Запуск «gem install mysql2» получит эту библиотеку для вас на вашем компьютере (эта команда выполняется сама по себе, на самом деле она не имеет ничего общего с Rails или для Rails-приложения требуется контекст). Таким образом, между ними нет линейной связи.

  1. рельсы новый MYAPP
  2. добавить 'Gem mysql2' в расслоении Gemfile
  3. грабли БД: создать

Или, наоборот:

rails new myapp -d mysql 
+0

Что создавало впечатление, что он не в существующем приложении рельсов? – JTG

+0

Не имеет значения, есть он или нет, так как «gem install mysql2» - это команда, которая не имеет никакого отношения к тому, чтобы быть в приложении Rails, она просто устанавливает библиотеку на ваш компьютер. Запуск rake db: выполнить миграцию в своем приложении до и после установки mysql2, выдаст тот же результат. – ilrein

+0

Привет. У меня есть существующее приложение rails, над которым я работал на другом компьютере. Я установил все на этом компьютере, создал тот же самый имя db и вам нужно выполнить миграцию, чтобы заполнить его. Здесь я получаю сообщение об ошибке. Я попробовал рекомендацию, описанную выше, при установке Ruby снова (которая обновляется с 2.1.1 до 2.1.2 ..). И теперь я получаю новую ошибку (см. Выше). Спасибо. – HPJAJ

Смежные вопросы