【问题标题】:OpenSSL error when creating a new Rails project创建新 Rails 项目时出现 OpenSSL 错误
【发布时间】:2013-09-25 03:20:43
【问题描述】:

我正在尝试使用 railstutorial.org 创建一个新的 Rails 项目。但是,当我尝试创建新应用时,出现以下错误:

User-MacBook-Air:rails_projects user$ rails new first_ap
/user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': dlopen(/user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/x86_64-darwin12.5.0/digest/md5.bundle, 9): Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib (LoadError)
  Referenced from: /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/x86_64-darwin12.5.0/digest/md5.bundle
  Reason: image not found - /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/x86_64-darwin12.5.0/digest/md5.bundle
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/gems/railties-3.2.14/lib/rails/generators/app_base.rb:1:in `<top (required)>'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/gems/railties-3.2.14/lib/rails/generators/rails/app/app_generator.rb:1:in `<top (required)>'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/gems/railties-3.2.14/lib/rails/commands/application.rb:24:in `<top (required)>'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/gems/railties-3.2.14/lib/rails/cli.rb:15:in `<top (required)>'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/gems/railties-3.2.14/bin/rails:7:in `<top (required)>'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/bin/rails:23:in `load'
    from /user.rvm/gems/ruby-1.9.3-p448@rails3tutorial2ndEd/bin/rails:23:in `<main>'

如何摆脱这个 OpenSSL 错误?我正在使用以下内容:

Rails 3.2.14
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-darwin12.5.0]

rvm 1.22.11 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

【问题讨论】:

  • 添加结果:file /user.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/x86_64-darwin12.5.0/digest/md5.bundle /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib 和文件/user.rvm/src/ruby-1.9.3-p194/ext/digest/md5/mkmf.log + /user.rvm/src/ruby-1.9.3-p194/ext/openssl/mkmf.log

标签: ruby-on-rails ruby ssl openssl rvm


【解决方案1】:

嗯,这很有可能是矫枉过正,但对我来说,完全卸载 ruby​​ 然后重新安装它,我的项目使用的所有 gem 都解决了这个问题。

如果您使用的是 rbenv,我使用的命令是
rbenv uninstall 2.6.3
rbenv install 2.6.3
gem install bundler
gem install rails -v 6.0.2
rbenv rehash
bundle update

同样,这可能有点矫枉过正,但在brew install openssl 对我不起作用后,它解决了问题。

【讨论】:

    【解决方案2】:

    如果您尚未安装 OpenSSL,请尝试使用 Homebrew 安装它

    brew install openssl
    

    【讨论】:

    • 当我尝试得到输出时:警告:openssl-1.0.1e already installed 我很困惑当我创建一个新应用程序时rails如何找不到openssl。
    • 尝试brew reinstall openssl,然后卸载rvm:rvm implode;并重新安装rvm。不过,您可能会继续使用 Chruby,因为它更易于开发。
    • 这个版本的 rvm 确保安装了 openssl 并使用它编译了 ruby​​,切换到其他工具不会让它神奇地工作,编译期间发生冲突或编译 ruby​​ 后发生了一些变化。
    • 可能发生了许多事情,从 rvm 困难,到拙劣的自制软件安装,再到您的环境同时安装了自制软件和 macport 或其他 OpenSSL 安装。重新安装 OpenSSL 和 Ruby 应该会有所帮助 :) 这解决了您的问题吗?如果是,你能选择一个答案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-12
    • 1970-01-01
    • 1970-01-01
    • 2014-06-07
    • 2020-02-09
    • 2019-04-20
    • 2017-07-29
    相关资源
    最近更新 更多