Error installing Bundler

2019-01-22 07:27发布

问题:

I am trying to install the Bundler gem on my Mac. With the command: sudo gem install bundler I get the following error:

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)

It clearly seems to be a server issue, but how do I go about solving this? gem update --system is currently up-to-date. Is there an alternative way to get Bundler?

回答1:

Had the same issue and everything is described here: http://railsapps.github.io/openssl-certificate-verify-failed.html

tl;dr Recent versions of RVM, the Ruby Version Manager, include a utility to diagnose and resolve errors caused by outdated certificate files. See the article Installing Rails for instructions and advice. The RVM website explains how to install RVM.

If you’ve installed RVM, try this:

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

That’s all that is needed to resolve the issue if you are using RVM (you must be using RVM version 1.19.1 or newer).



回答2:

After looking at some of the answers to the Stack question @Matt referenced, although the error was different, one of the solutions also helped me for this problem.

In the home directory, create a file called .gemrc. Add :ssl_verify_mode: 0 to the file. Bundler then installs without issue.

This works for my situation as I'm behind a corporate firewall. However, this obviously opens up a security hole.



回答3:

Windows users:

You can't run rvm command on Windows as you can see here, but you can fix the error without it. Just add a new source adress with http instead of https:

gem sources -a http://rubygems.org

Then you can run:

gem install bundler


回答4:

I had this same problem using Windows, and removing the security from the Hypertext Transfer Protocol solve it.

Paste in your terminal:

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

Hope it will help! ★



回答5:

I faced the same problem installing bundler on windows 8.1. I solved it and installed bundler and other gems in the following way

  1. Go to https://gist.github.com/luislavena/f064211759ee0f806c88 and follow instructions.
  2. My gem version was 2.2.2. Update gem to 2.4.5 with the command:

    gem update --system

  3. Install gems:

    gem install bundler

    gem install rails

Hope that helps.



回答6:

For those that arent using rvm, but are using homebrew:

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

This worked for me.



回答7:

Below way solve my problem:

  1. In the home directory , find file .gemrc
  2. edit this file and find

    :sources: -https://rubygems.org/

  3. change https into http

  4. save the file and reopen the shell.


回答8:

for those Chinese users:

$ 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

My environment: rbenv, ruby 2.1.2, ubuntu 16.04 LTS



回答9:

Try gem source -c and then install bundler again that should solve the problem



回答10:

Finding this answer a couple of years later, I didn't feel comfortable with making my installation less secure, so I updated my Ruby installation to Ruby 2.2.2, which made the problem go away.



回答11:

  1. Here is my error when I input the command 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. And my solution is input the next command lines:

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

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

gem sources -l

and the output show:

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

  1. Then, try sudo gem install bundler --no-ri --no-rdoc again:

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

Bingo!!!