创建新的Rails项目时出现OpenSSL错误

时间:2013-09-25 03:20:43

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

我正在尝试使用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/]

2 个答案:

答案 0 :(得分:6)

好吧,它很有可能会被矫but过正,但是对我来说,完全卸载ruby然后重新安装它,而我的项目使用的所有宝石都解决了这个问题。

如果您使用的是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对我不起作用之后,它解决了问题。

答案 1 :(得分:1)

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

进行安装
brew install openssl