I have a server with Rackspace that I use for a few Ruby sites. When I try bundle install
on a new site I get
Retrying download gem from http://rubygems.org/ due to error (2/4): Gem::RemoteFetcher::UnknownHostError timed out (http://rubygems.org/gems/rake-12.3.1.gem)
Or trying gem update --system
I get
ERROR: While executing gem ... (Gem::RemoteFetcher::UnknownHostError) timed out (http://api.rubygems.org/specs.4.8.gz)
What I have tried:
gem
from source (on 2.7.6)apt-get update
AddTrustExternalCARoot-2048.pem
What I haven't tried:
I was finally (just before submitting this) able to get bundle install
to work by removing rubygems.org as a source and adding https://gems.ruby-china.org/. Why would gem be unable to access rubygems.org?
Ruby comes with RubyGems by default since version 1.9, previous Ruby versions require RubyGems to be installed by hand.
Open up the 'Software Center' app from your launcher and type in `RubyGems` without quotes into the application search box at the top right, and press [enter]. RubyGems then can be installed by just clicking on the button labeled 'Install', thats it.
api.rubygems.org
is currently experiencing issues with IPv6 setup: this hostname has 4 IPv6 addresses, but responds on neither of them. Neither to ping
, nor to TCP connection attempts. When you are running gem
, your gem
tries IPv6 addresses first and times out on them, not having time to even try IPv4 addresses.
The solution is to lower priority of IPv6 addresses for api.rubygems.org
, so that gem
will try IPv4 addresses first. In order to do it, put these lines into /etc/gai.conf
:
# Debian defaults. precedence ::1/128 50 precedence ::/0 40 precedence 2002::/16 30 precedence ::/96 20 precedence ::ffff:0:0/96 10 # Low precedence for api.rubygems.org IPv6 addresses. precedence 2a04:4e42::0/32 5
I didn't find /etc/gai.conf
on MacOS, so as a workaround I just disabled IPV6 to download the gems. That worked for me.
'System Preferences' -> 'Network' -> Select WiFi -> click 'Advanced' button -> select 'TCP/IP' tab -> set the Configure IPV6 select to 'link-local only'.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With