Rails Gemfile 默认使用 'https' - 'bundle install' 失败

3
我注意到在生成新的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可以正常执行。
我的设置是否有误(我已在两个不同的机器上复制了此问题),或者我还缺少其他方面的知识?
2个回答

4

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

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

2
我曾经遇到过这种情况,当时使用的Ruby版本是针对不同版本的libssl-dev编译的。也就是说,如果自从构建rvm ruby以来更新了libssl,但没有更新libssl-dev,则在链接到libssl时,ruby会因为使用了错误的头文件而崩溃。我解决这个问题的方法是确保已更新libssl-dev,用rvm remove删除我的ruby,然后重新构建它。
编辑:我知道我在某个地方找到了更多关于此问题的信息。原来是在RVM网站上。我个人将rvm指向使用macports安装的ssl --with-openssl-dir=/opt/local/usr/local

1
还有一个更完整的命令列表:https://rvm.io/integration/macports/ - Amy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接