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
,个人。
- 如何安装json gem – 无法构建gem原生扩展
- 在新的RHEL6服务器上安装ruby-filemagic gem时遇到困难
- 从rvm切换到rbenv,现在无法使用rails s。 无法激活bundler-1.12.5,已经激活了bundler-1.13.0.rc.1(Gem :: LoadError)
- Bundler找不到gem“bundler”的兼容版本:
- 告诉Bundler从特定gem的安装中排除某些gem
- 这是什么意思BUNDLE_DISABLE_SHARED_GEMS:’1’?
- 通过capistrano(&rvm)部署时出现捆绑安装错误
- 使用旧的rubygems版本捆绑安装
- 什么时候需要在rails Gemfile中使用require?