Rails Gemfile默认为’https’ – ‘bundle install’失败

我注意到在生成新的rails项目时,Gemfile现在默认为:

source 'https://rubygems.org'

代替

source 'http://rubygems.org'

现在bundle install失败了。 当它试图运行时,我得到:

/Users//.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799: [BUG] Segmentation fault

如果我手动将Gemfile更改为http ,那么bundle install可以了。

我的设置是否有错误(我在两个不同的盒子上复制了这个),还是有其他问题我不知道?

你可能正在使用MacPorts。 除了你的本地openssl之外,它还会安装自己的openssl版本,这会导致问题。 如果是这种情况,请按照以下说明操作

 rvm remove ruby-1.9.3 rvm install ruby-1.9.3 --with-openssl-dir=/opt/local 

我之前在使用针对不同版本的libssl-dev编译的Ruby版本时看到过这个段错误。 也就是说,如果你已经更新了libssl,而不是libssl-dev,那么在构建你的rvm ruby​​时,ruby会在链接到libssl时发生段错误,因为它是用错误的头构建的。 我所做的就是确保更新了libssl-dev,用rvm remove我的ruby,并再次构建它。

编辑:我知道我在某个地方找到了更多相关信息。 原来它出现在RVM网站上 。 我将rvm指向我用macports安装的ssl --with-openssl-dir=/opt/local/usr/local ,个人。