ruby-on-rails - 尝试使用 db:create 时出现“错误:Rake 中止”
问题描述
我是 Ruby on rails 的新手,所以我按照说明从 gorails.com 安装 ROR,使用 mysql 作为数据库。(也尝试过使用 SQLite3,但那里也出现错误...?)https://gorails.com/setup/osx/10.14-mojave
一切都很顺利,直到我不得不使用以下功能,
rake db:create
当我在我的 ROR 项目中运行这个命令时,我得到这个 rake aborted 错误。使用我的终端的以下输出。
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。
解决方案
我使用@Denny Mueller 和@Umar Khan 的答案来解决这个问题。我没有意识到这是 openssl 的问题,但该问题的解决方案与Michael Erb在此问题上提供的答案相同。
解决方案
事实证明,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`
推荐阅读
- linux - 页面 PG_referenced 与 PG_active 位?
- amazon-web-services - 资源 AWS::S3/LAMBDA 之间的循环依赖
- c# - 包括子表的多个子项
- powershell - 如何使用函数的参数设置 Pester 模拟
- r - R找到以“A”开头并具有固定长度的单词
- python - 将包含列表的python 2d列表写入镶木地板文件
- javascript - 从 JSON 格式填充 JavaScript 数组
- batch-file - 是否可以在我的批处理文件中使用 robocopy 的替代方法,我可以在路径中使用通配符?
- android - 华为地图工具包 - 在 Xamarin.Android 中的 GetMapAsync() 之后未调用 OnMapReady()
- c++ - 优化游戏角度检查中的距离