«Ошибка: Rake прерван» при попытке использовать db: create - PullRequest
0 голосов
/ 01 марта 2019

Я новичок в Ruby on rails, поэтому я следовал инструкциям по установке ROR с gorails.com с mysql в качестве базы данных.(Также пытался использовать SQLite3, но там я тоже получаю сообщение об ошибке ...?) https://gorails.com/setup/osx/10.14-mojave

Все шло хорошо, пока мне не пришлось использовать следующее,

rake db:create

КогдаЯ запускаю эту команду в своем проекте ROR, я получаю эту ошибку прерывания рейка.Со следующим выводом из моего терминала.

rake aborted!
LoadError: dlopen(/Users/username/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.bundle, 9): Library not loaded: libssl.1.0.0.dylib
  Referenced from: /Users/username/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.bundle
  Reason: image not found - /Users/username/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/mysql2-0.5.2/lib/mysql2/mysql2.bundle
/Users/username/Desktop/myapp3/config/application.rb:7:in `<top (required)>'
/Users/username/Desktop/myapp3/Rakefile:4:in `require_relative'
/Users/username/Desktop/myapp3/Rakefile:4:in `<top (required)>'
(See full trace by running task with --trace)

Я попытался проверить gemfile.

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Я использовал ответы @Denny Mueller и @Umar Khan, чтобы решить проблему.Я не осознавал, что это была проблема с openssl, но решение проблемы такое же, как и ответ , предоставленный Майклом Эрбом на этот вопрос.

Решение

Как выясняется, openssl предназначен только для бочонков, что означает, что он не был связан символом с / usr / local, потому что Apple отказалась от использования OpenSSL в пользу своих собственных библиотек.Во-первых, удалите mysql2.

gem uninstall mysql2

Затем переустановите OpenSSL

brew reinstall openssl

Обратите внимание на вывод, содержащий:

LDFLAGS:  -L/usr/local/opt/openssl/lib
CPPFLAGS: -I/usr/local/opt/openssl/include

Затем мы можем снова установить mysql2

gem install mysql2 -v 0.4.10 -- --with-cppflags=-`I/usr/local/opt/openssl/include --with-ldflags=-L/usr/local/opt/openssl/lib`
0 голосов
/ 01 марта 2019

Попробуйте:

brew install openssl

cd /usr/local/Cellar/openssl/1.0.1f/lib

sudo cp libssl.1.0.0.dylib libcrypto.1.0.0.dylib /usr/lib/

Полное решение можно найти здесь - https://mithun.co/hacks/library-not-loaded-libcrypto-1-0-0-dylib-issue-in-mac/

...