29

我正在尝试在我的 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?

4

14 回答 14

40

有同样的问题,一切都在这里描述: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 或更高版本),这就是解决问题所需的全部内容。

于 2013-10-06T07:33:24.580 回答
16

Windows 用户:

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

gem sources -a http://rubygems.org

然后你可以运行:

gem install bundler
于 2016-01-29T02:54:40.980 回答
12

在查看了@Matt 引用的Stack 问题的一些答案后,虽然错误有所不同,但其中一个解决方案也帮助我解决了这个问题。

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

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

于 2013-10-03T05:48:24.230 回答
8

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

粘贴到您的终端:

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

希望它会有所帮助!★

于 2016-10-11T07:45:35.130 回答
3

我在 Windows 8.1 上安装捆绑器时遇到了同样的问题。我通过以下方式解决了它并安装了 bundler 和其他 gem

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

    宝石更新--系统

  3. 安装宝石:

    宝石安装捆绑器

    宝石安装导轨

希望有帮助。

于 2014-12-21T05:51:46.320 回答
2

对于那些不使用 rvm,但使用自制软件的人:

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

这对我有用。

于 2013-11-26T02:12:59.770 回答
1

以下方式解决我的问题:

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

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

  3. 变成https_http

  4. 保存文件并重新打开外壳。
于 2015-02-04T02:22:28.507 回答
1

对于那些中国用户,如果您发现 ruby​​gems.org 不可用,请将其更改为:gems.ruby-china.com: (对于中国用户,请使用 gems.ruby-china.com 而不是 ruby​​gems.org)

$ 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://gems.ruby-china.com --remove https://rubygems.org/

然后:

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

https://gems.ruby-china.com/

然后:

$ 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

参考:https ://gems.ruby-china.com/

于 2016-06-28T06:30:29.077 回答
0

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

于 2013-10-02T17:08:52.810 回答
0

中国用户:

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
gem sources --clear-all
gem sources --update
gem sources -l
于 2021-11-21T02:28:49.120 回答
0

几年后找到这个答案,我对降低我的安装安全性感到不舒服,所以我将我的 Ruby 安装更新到 Ruby 2.2.2,这让问题消失了。

于 2015-08-26T08:53:07.813 回答
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'

于 2020-04-17T08:05:50.577 回答
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'
于 2020-04-17T08:07:45.897 回答
0
  1. 这是我输入命令时的错误sudo gem install bundler --no-ri --no-rdoc

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. 我的解决方案是输入下一个命令行:

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一次:

Fetching: bundler-1.11.2.gem (100%) Successfully installed bundler-1.11.2 1 gem installed

答对了!!!

于 2015-12-31T02:58:10.027 回答