2

I'm currently attempting to install a gem gem install micromidi. Whenever I run it from terminal I receive this error:

ERROR:  Could not find a valid gem 'micromidi' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::ECONNREFUSED: Connection refused - connect(2) for "rubygems.global.ssl.fastly.net" port 443 (https://api.rubygems.org/latest_specs.4.8.gz)

I'm not behind a proxy and I have an internet connection. I've installed gems before and have never had a problem. What's wrong and how do I fix this?

thank_you
  • 11,001
  • 19
  • 101
  • 185

1 Answers1

3

There's been a few recent merges of commits regarding ssl and mentioning "fastly", like this search of the repo: https://github.com/rubygems/rubygems/search?o=desc&q=fastly&s=created&type=Issues

Also, 2.6.3 / 2016-04-05 […] New fastly cert. Pull request #1548 by David Radcliffe see: https://github.com/rubygems/rubygems/blob/ccb9c3300c063f5b5656669972d24a10ef8afbf5/History.txt#L63


ANSWER

I recommend manually updating to RubyGems v2.6.6 - June 22, 2016 via https://rubygems.org/pages/download:

If you don't have any RubyGems installed, there is still the pre-gem approach to getting software, doing it manually:

  1. Download from above
  2. Unpack into a directory and cd there
  3. Install with: ruby setup.rb (you may need admin/root privilege)

RESOURCES

If the above doesn't resolve the issue, here are some additional resources:

Step 1: Obtain the new trust certificate

[…]

We need to download AddTrustExternalCARoot-2048.pem[ https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/AddTrustExternalCARoot-2048.pem ]

Use the above link and place/save this file somewhere you can later find easily (eg. your Desktop).

IMPORTANT: File must have .pem as extension. Browsers like Chrome will try to save it as plain text file. Ensure you change the filename to have .pem in it after you have downloaded it.

Step 2: Locate RubyGems certificate directory in your installation

In order for us copy this file, we need to know where to put it.

Depending on where you installed Ruby, the directory will be different.

Take for example the default installation of Ruby 2.1.5, placed in C:\Ruby21

Open a Command Prompt and type in:

C:\>gem which ruby gems
C:/Ruby21/lib/ruby/2.1.0/rubygems.rb

Now, let's locate that directory. From within the same window, enter the path part up to the file extension, but using backslashes instead:

C:\>start C:\Ruby21\lib\ruby\2.1.0\rubygems

This will open a Explorer window inside the directory we indicated.

Step 3: Copy new trust certificate

Now, locate ssl_certs directory and copy the .pem file we obtained from previous step inside.

It will be listed with other files like GeoTrustGlobalCA.pem.

Community
  • 1
  • 1
SoAwesomeMan
  • 3,226
  • 1
  • 22
  • 25