安装Bundler时出错

时间:2013-10-02 08:02:02

标签: ruby terminal gem bundler

我正在尝试在Mac上安装Bundler gem。使用命令: sudo gem install bundler我收到以下错误:

ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://s3.amazonaws.com/production.s3.rubygems.org/latest_specs.4.8.gz)

这显然是一个服务器问题,但我该如何解决这个问题呢? gem update --system目前是最新的。有没有其他方法可以获得Bundler?

13 个答案:

答案 0 :(得分:39)

有同样的问题,所有内容都在这里描述:http://railsapps.github.io/openssl-certificate-verify-failed.html

tl; dr 最新版本的RVM(Ruby版本管理器)包含一个实用程序,用于诊断和解决由过时的证书文件导致的错误。有关说明和建议,请参阅文章安装Rails。 RVM网站介绍了如何安装RVM。

如果您已安装RVM,请尝试以下操作:

$ rvm -v
# rvm 1.19.1 (stable)
$ rvm osx-ssl-certs status all
# Certificates for...
$ rvm osx-ssl-certs update all
# Updating certificates...

如果您使用RVM(必须使用RVM版本1.19.1或更高版本),那就是解决问题所需的全部内容。

答案 1 :(得分:12)

在查看引用的Stack question @Matt的一些答案之后,虽然错误不同,one of the solutions也帮助我解决了这个问题。

在主目录中,创建一个名为.gemrc的文件。将:ssl_verify_mode: 0添加到文件中。 Bundler然后安装没有问题。

这适用于我的情况,因为我在公司防火墙后面。然而,这显然打开了一个安全漏洞。

答案 2 :(得分:12)

Windows用户:

您无法在Windows上运行rvm命令,因为您可以看到here,但您可以在没有它的情况下修复错误。只需使用 http 而不是 http s 添加新的来源地址:

gem sources -a http://rubygems.org

然后你可以运行:

gem install bundler

答案 3 :(得分:8)

我在使用Windows时遇到了同样的问题,并从超文本传输​​协议中删除了安全性解决方案。

粘贴到您的终端:

gem sources -r https://rubygems.org -a http://rubygems.org

希望它会有所帮助! ★

答案 4 :(得分:3)

我遇到了在Windows 8.1上安装bundler的相同问题。我解决了它并以下列方式安装了捆绑器和其他宝石

  1. 转到https://gist.github.com/luislavena/f064211759ee0f806c88并按照说明操作。
  2. 我的宝石版本是2.2.2。使用以下命令将gem更新为2.4.5:

    gem update --system

  3. 安装宝石:

    gem install bundler

    gem install rails

  4. 希望有所帮助。

答案 5 :(得分:2)

对于那些没有使用rvm但正在使用自制程序的人:

brew tap raggi/ale
brew install openssl-osx-ca

这对我有用。

答案 6 :(得分:1)

以下方式解决了我的问题:

  1. 在主目录中,找到文件.gemrc
  2. 编辑此文件并找到

    :来源:    - https://rubygems.org/

  3. https更改为http

  4. 保存文件并重新打开shell。

答案 7 :(得分:1)

对于那些中国用户:

$ gem install bundler
ERROR:  Could not find a valid gem 'bundler' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org/latest_specs.4.8.gz)

$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/

$ gem sources  -l
*** CURRENT SOURCES ***

https://ruby.taobao.org/

$ gem install bundler 

Fetching: bundler-1.12.5.gem (100%)
Successfully installed bundler-1.12.5
Parsing documentation for bundler-1.12.5
Installing ri documentation for bundler-1.12.5
Done installing documentation for bundler after 4 seconds
1 gem installed

我的环境:rbenv,ruby 2.1.2,ubuntu 16.04 LTS

答案 8 :(得分:0)

尝试gem source -c  然后再次安装bundler 那应该解决问题

答案 9 :(得分:0)

几年后找到这个答案,我觉得安装不太安全,所以我将Ruby安装更新为Ruby 2.2.2,这使问题消失了。

答案 10 :(得分:0)

  1. 输入命令sudo gem install bundler --no-ri --no-rdoc时出现错误。
  2. ERROR: Could not find a valid gem 'bundler' (>= 0), here is why: Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://api.rubygems.org/latest_specs.4.8.gz)

    1. 我的解决方案是输入下一个命令行:
    2. gem sources --remove https://rubygems.org/

      gem sources --remove http://rubygems.org/

      gem sources -l

      ,输出显示:

      *** CURRENT SOURCES *** http://rubygems.org/

      1. 然后,再次尝试sudo gem install bundler --no-ri --no-rdoc
      2. Fetching: bundler-1.11.2.gem (100%) Successfully installed bundler-1.11.2 1 gem installed

        宾果!!!

答案 11 :(得分:0)

Bundler 2至少需要Ruby 2.3.0和RubyGems 2.5.0。当您尝试安装Ruby <2.3的bundler时,您可能会收到以下错误:

复制

  ERROR:  Error installing bundler:
  bundler requires Ruby version >= 2.3.0.

要解决此错误,请升级项目的ruby版本或安装最新的Bundler for Ruby <2.3版本:

复制 gem install bundler -v'〜> 1'

答案 12 :(得分:0)

Bundler 2至少需要Ruby 2.3.0和RubyGems 2.5.0。

当您尝试为Ruby <2.3安装捆绑程序时,您可能会收到以下错误:

ERROR:  Error installing bundler:
bundler requires Ruby version >= 2.3.0.

要解决此错误,请升级项目的ruby版本,或者仅在以下命令下运行,安装最新支持的Bundler for Ruby <2.3

gem install bundler -v '~>1'