创建新的Rails 3项目时出错:`require':无法加载此类文件 - openssl(LoadError)

Ami*_*tel 12 ruby installation ruby-on-rails ruby-on-rails-3.1

当我尝试创建一个新项目($ rails new first_app)时,它在创建目录结构后出现以下错误.

...
...
      create  vendor/plugins/.gitkeep
         run  bundle install
/home/amit/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require': cannot load such file -- openssl (LoadError)
    from /home/amit/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in `require'
    from /home/amit/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/https.rb:22:in `<top (required)>'
...
...
Run Code Online (Sandbox Code Playgroud)

这是Ubuntu 10.04上的配置

$ rails -v
Rails 3.2.1
$ rvm -v

rvm 1.10.2 by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.beginrescueend.com/]

$ bundle -v
Bundler version 1.0.21
$ gem -v
1.8.15
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题.

pdu*_*ler 13

你需要使用openssl支持捆绑你的ruby.看看http://beginrescueend.com/packages/openssl/

rvm reinstall 1.9.3 --with-openssl-dir=/usr/local

这要求您的盒子上有openssl标头.这些都是整个系统不同的名称,如libopenssl-dev,libssl-dev,openssl-devel等.


Pat*_*len 8

在Ubuntu Lucid(10.04)上遇到同样的问题.修正:

sudo apt-get install libssl-dev
rvm remove 1.9.3
rvm install 1.9.3
Run Code Online (Sandbox Code Playgroud)


Fra*_*ero 8

我在这个链接中看到的这个解决方案非常适合我.

假设RVM正在使用中

rvm pkg install openssl
Run Code Online (Sandbox Code Playgroud)

去掉红宝石

rvm remove 1.9.3
Run Code Online (Sandbox Code Playgroud)

最后用openssl重新编译Ruby

rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr
Run Code Online (Sandbox Code Playgroud)

最后

rvm use 1.9.3 --default
Run Code Online (Sandbox Code Playgroud)

我希望这对未来的搜索有用.