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

时间:2012-02-02 11:51:11

标签: ruby-on-rails ruby ruby-on-rails-3.1 installation

当我尝试创建一个新项目($ 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)>'
...
...

这是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

请帮我解决此问题。

5 个答案:

答案 0 :(得分:13)

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

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

这要求您的盒子上有openssl标头。它们在系统中的命名方式不同,例如libopenssl-devlibssl-devopenssl-devel等。

答案 1 :(得分:8)

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

sudo apt-get install libssl-dev
rvm remove 1.9.3
rvm install 1.9.3

答案 2 :(得分:8)

此解决方案I saw in this link对我很有用。

假设RVM正在使用

rvm pkg install openssl

删除红宝石

rvm remove 1.9.3

最后用openssl重新编译Ruby

rvm install 1.9.3 --with-openssl-dir=$HOME/.rvm/usr

最后

rvm use 1.9.3 --default

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

答案 3 :(得分:4)

如果您使用RVM,请按以下步骤操作:

sudo apt-get install libssl-dev
./configure --prefix=/usr/local
make
make install

答案 4 :(得分:0)

以下是适用于Mac OS 10.8的说明(尽管这些看似一般) https://gist.github.com/joneslee85/5025729

rvm pkg install openssl
rvm reinstall 1.9.3 --with-openssl-dir=$rvm_path/usr