Gem Install Connection Issues in Hyper-V - ruby-on-rails

I have a Windows Server 2010 VM running via Hyper-V. I can connect to individual gems with a web browser from within the VM, however when I run gem install for any gem, the connection times out with the error I've pasted below. The image is using a virtual switch - do you think this is causing the problem? I'm not sure how to troubleshoot this.
C:\Ruby193\bin>gem install rails -V
Error fetching remote data: Errno::ETIMEDOUT: A connection attempt f
ailed because the connected party did not properly respond after a period of tim
e, or established connection failed because connected host has failed to respond
. - connect(2) (http://rubygems.org/latest_specs.4.8.gz)
Falling back to local-only install
ERROR: Could not find a valid gem 'rails' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: A connection attempt failed because the connected party di
d not properly respond after a period of time, or established connection failed
because connected host has failed to respond. - connect(2) (http://rubygems.org/
latest_specs.4.8.gz)

Perhaps what might be missing is the proxy configuration (considering you can browse to rubygems.org)
You can use --http-proxy option in your gem install command or set HTTP_PROXY environment variable.
First you will need to obtain the proxy configuration, which most likely is in your web browser.
It should look like this:
http://host:port/
Or:
http://username:password#host:port/
You will need need to use it in gem install:
gem install rails --http-proxy=http://host:port/
Or you can avoid typing it everytime if you set it as environment variable:
SET HTTP_PROXY=http://host:port/
gem install rails
You can see more details about this with gem help install documentation.
Hope that helps.

Related

"gem install rails" fails with DNS error

$ rvm use
Using /home/owner/.rvm/gems/ruby-2.1.2
$ gem install rails
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ECONNREFUSED: Connection refused - connect(2) for "your-dns-needs-immediate-attention.network" port 80 (http://your-dns-needs-immediate-attention.network/quick/Marshal.4.8/thread_safe-0.3.4.gemspec.rz)
$ gem update --system
...
$ gem -v
2.4.1
$ gem install rails
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ECONNREFUSED: Connection refused - connect(2) for "your-dns-needs-immediate-attention.network" port 80 (http://your-dns-needs-immediate-attention.network/quick/Marshal.4.8/rails-4.1.5.gemspec.rz)
I have attempted:
Installing other gems (devise, activerecord). I get the same error.
Reinstalling RVM
Running gem update --system
Setting static DNS to google's 8.8.8.8 and 8.8.4.4
Adding https://production.cf.rubygems.org as a gem source (see below for error)
Installing 14.04 over my previous 12.04. Error persists. The source of the error must be outside my computer.
Additional information about my connection:
I can connect to https://rubygems.org/ through my browser
My modem's firewall is completely disabled.
$ curl -v --head https://rubygems.org output: http://pastebin.com/ca6DAvaU
My /etc/resolv.conf
$ cat /etc/resolv.co
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 75.75.75.75
search home.network
Add direct gem source
Ref: https://stackoverflow.com/a/19299266/3993020
owner#owner-Z87X-UD3H:~$ gem sources --add https://production.cf.rubygems.org
Error fetching https://production.cf.rubygems.org:
Errno::ECONNREFUSED: Connection refused - connect(2) for "your-dns-needs-immediate-attention.network" port 443 (https://your-dns-needs-immediate-attention.network/specs.4.8.gz)
Additional debug information for gem install rails
owner#owner-Z87X-UD3H:~$ gem install rails --debug -V
NOTE: Debugging mode prints all exceptions even when rescued
Exception `LoadError' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/resolv.rb:169 - LoadError
HEAD https://api.rubygems.org/api/v1/dependencies
Exception `OpenSSL::SSL::SSLErrorWaitReadable' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/buffering.rb:182 - read would block
200 OK
GET https://api.rubygems.org/api/v1/dependencies?gems=rails
Exception `OpenSSL::SSL::SSLErrorWaitReadable' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/buffering.rb:182 - read would block
Exception `OpenSSL::SSL::SSLErrorWaitReadable' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/buffering.rb:182 - read would block
Exception `OpenSSL::SSL::SSLErrorWaitReadable' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/buffering.rb:182 - read would block
Exception `OpenSSL::SSL::SSLErrorWaitReadable' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/buffering.rb:182 - read would block
Exception `OpenSSL::SSL::SSLErrorWaitReadable' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/openssl/buffering.rb:182 - read would block
200 OK
Exception `Resolv::DNS::Config::NXDomain' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/resolv.rb:547 - _rubygems._tcp.api.rubygems.org
Exception `Errno::ECONNREFUSED' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/http.rb:879 - Connection refused - connect(2) for "your-dns-needs-immediate-attention.network" port 443
Exception `Gem::RemoteFetcher::FetchError' at /home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/remote_fetcher.rb:286 - Errno::ECONNREFUSED: Connection refused - connect(2) for "your-dns-needs-immediate-attention.network" port 443 (https://your-dns-needs-immediate-attention.network/quick/Marshal.4.8/rails-4.1.5.gemspec.rz)
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ECONNREFUSED: Connection refused - connect(2) for "your-dns-needs-immediate-attention.network" port 443 (https://your-dns-needs-immediate-attention.network/quick/Marshal.4.8/rails-4.1.5.gemspec.rz)
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/remote_fetcher.rb:286:in `rescue in fetch_path'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/remote_fetcher.rb:259:in `fetch_path'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/source.rb:146:in `fetch_spec'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/resolver/api_specification.rb:76:in `spec'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/resolver/installer_set.rb:77:in `add_always_install'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/dependency_installer.rb:461:in `resolve_dependencies'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/commands/install_command.rb:238:in `install_gem'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/commands/install_command.rb:299:in `block in install_gems'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/commands/install_command.rb:295:in `each'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/commands/install_command.rb:295:in `install_gems'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/commands/install_command.rb:202:in `execute'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/command.rb:307:in `invoke_with_build_args'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/command_manager.rb:168:in `process_args'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/command_manager.rb:138:in `run'
/home/owner/.rvm/rubies/ruby-2.1.2/lib/ruby/site_ruby/2.1.0/rubygems/gem_runner.rb:54:in `run'
/home/owner/.rvm/rubies/ruby-2.1.2/bin/gem:21:in `<main>'
Like blasio pointed out. It seems like the Xfinity modems are setting up the search domain to home.network and this is messing things up for the reasons he mentioned (essentially, home.network is now a valid domain name that the modems are trying to contact before making a connection).
I had the same problem and the modification on resolv.conf seem to do the trick, and that should probably be an accepted solution for linux environments. I had this problem while attempting this on a virtual machine running ubuntu, and my host(OSX Mavericks) was passing down the search home.network like the modem is, so I wanted to see if I could find a solution that could be done at the host OS level because the same problem happened when I attempted gem install rails on my OSX terminal.
If you go to the OSX network settings, under DNS you'll see the home.network line under the Search Domains area. After some googling it seems that comcast recently changed this from http://hds1.ma.comcast.net'. I changed it back, restarted and gave gem install rails another shot, which worked with no problem.
Strange issue but this is a better solution that swapping modems or changing gem sources.
I had the same issue with Comcast xFinity and Compass.
Update for Windows 7 users:
Go to Control Panel > Network and Sharing Center
Under "Active Networks" select "Connections: Local Area Connections"
In the "Local Area Connection Status" dialogue box, click on "Properties"
Double click the IPv4 item
In the "Internet Proptocol Verion 4" icon or click the "Properties" button, then click "Advanced"
In the DNS tab, just above the 2nd input box, click the "Append These DNS suffixes (in order)" radio button,
then click "Add", enter "home.lan", then click OK until the dialogue closes.
Many thanks to John Smith for the Vista fix and Somnambulent for Win 8.1 fix.
Your DNS error seems to be related to .network becoming a TLD and your resolv.conf missing the ndots configuration. I just run into this issue with .prod.
Unless you have your own DNS server at home for internal .network domain, removing the search home.network from /etc/resolv.conf should fix the issue.
Since your /etc/resolv.conf is generated by resolveconf as it says in your resolv.conf, you might want to remove the home.network from your configuration, see here for example
I just want to say thank you to you all. Since I'm new here. I cannot add a comment even vote up. So I can only come to the answer part.
I got a problem as follow when I tried to install cocoapods:
➜ ~ gem install cocoapods
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: Operation timed out - connect(2) for "your-dns-needs-immediate-attention.network" port 443 (https://your-dns-needs-immediate-attention.network/quick/Marshal.4.8/cocoapods-0.33.1.gemspec.rz)`enter code here`
Adding home.local into the DNS Search Domains fixes it.
Thanks again! I admire your spirit!!!
I'm using RVM (1.25.29), Ubuntu 14.04 and ruby 2.0.0. This was a fresh RVM and ruby 2.0 installation.
In my case I was trying to install OpenShift Online's command-line tool: rhc with "gem install rhc".
I finally fixed it by using bundle install and a Gemfile. I'm not sure why but bundle was able to get the gems via https to rubygems.org, but "gem install" could not.
Try creating a Gemfile with your gem in it as a temporary fix to get the gem installed.
Gemfile:
source 'https://rubygems.org'
# have bundle handle the gem install via https
gem 'rails'
Then run:
bundle install
The only way I was able to get it to work using "gem install" was to use:
gem install --source http://rubygems.org
But that's unsafe and NOT recommended.
I haven't been able to determine why bundle can install via https, but gem can't. I'm relatively new to ruby and rvm.
The bundler gem came with the rvm installation, but rubygems came with ruby2.0.0-p481. At first and because of the error I thought it had something to do with openssl, but after a lot of trial and error it seems to be related to missing, dependent gems.
After the gem was installed via bundle, I was able to uninstall it and then re-install via "gem install". I noticed that "bundle install" installed some missing network and ssl-related gems before installing "rhc".
Without knowing a whole lot about how bundle and gem install work I'm thinking that the bundler gem had "everything" it needed to go out via https while rubygems (which came with the ruby 2.0 install) didn't. And that would explain why after the bundle install, gem install worked.
I hope this works for anyone else that's encountered this. If not, at least it's one more thing to try ;-).
I'm using openSUSE 13.1 OS for my rails development. Suddenly I got the same issue and reported to the SUSE mailing list. And then got an very good explanation about the problem here.
Background: the tld ".site" is offically registered and thus no longer available for private use.
ToDo: Change your private tld, to something NOT registered.
Gotchas: ".local" is reserved for mDNS / ZeroConf / Bonjour / Rendezvous.
Do NOT use it for DNS / DHCP !
Examples:
".box", ".lan" : both are suggested by some Internet-Connect-Routers
(DSL/Cable/Fibre)
".lnet", ".your-name-here" (.ArupRakshit for you) : possible, worth to try.
HTH, Yamaban.
I followed his instrutions here
For future reader goto YAST -> Netwrok devices -> Network Settings ->
Hostname/DNS -> Domain Name (and here put your name).
[arup#Rails]$ gem install rails --no-ri --no-rdoc
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
Successfully installed tzinfo-1.2.2
Fetching: i18n-0.7.0.gem (100%)
........
........
[arup#Rails]$ rails -v
Rails 4.2.0
Now all is set. :)
New top level domains - .prod, .network are real domains not be be used as internal placeholder - https://icann.org/namecollision
For me "your-dns-needs-immediate-attention", actually meant "your gem sources are not valid".
gem source --list
Check the output. If the current list isn't valid, then you can simply
gem source -a https://rubygems.org
...or whatever other sources are appropriate. Then use the -r flag to remove the invalid sources.
it appears comcast recently appended home.network to customers DNS search path
I resolved this issue by completing the following steps on Windows Vista:
control panel -> network and sharing center -> manage network connections -> wireless properties -> ip4 properties -> advanced -> dns tab -> select append these dns suffices in order and added home.lan.
now gem install runs without a hitch
FWIW, if anyone's encountering this in Windows, here's how I fixed it (in 8.1).
Go to Control Panel\Network and Internet\Network and Sharing Center
Click into your network adaptor's status, and from there into its properties
Double click the IPv4 item
In the IPv4 Properties, click Advanced...
In the DNS tab, look for the 'home.network' suffix, and remove it.
Hit OK a bunch of times :)
Now you should be good to go!
For me downloading and reinstalling gem from this page: https://rubygems.org/pages/download solved the Errno::ECONNREFUSED problem.
If you work on a Mac system, you can try to
sudo vi /etc/resolv.conf
by edit search statement with appending .local to a word.
EX:
# This file is automatically generated.
#
search network.local
NOTE: Above network is the domain for this case. You can use any word.
I had the same problem when trying to install premailer and upgrading ruby to current stable version (2.3.0) fixed the issue.
with rvm:
rvm install 2.3.0
rvm use 2.3.0
gem install premailer
of course, this applies to any gem, not just premailer
Replace the modem Comcast provided with another (Motorola Surfboard SB6141 in this case).
This is an unsatisfying solution, but a solution nonetheless.

"gem install rails" fails on Windows

I am trying to manually install rails, but have encountered the following error:
c:\Ruby193\bin>gem install rails
ERROR: Could not find a valid gem 'rails' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEDOUT: A connection attempt failed because the connected party
did not properly respond after a period of time, or established connection failed
because connected host has failed to respond. - connect(2) (http://rubygems.org/
latest_specs.4.8.gz)
How can this be solved?
The steps I followed so far:
I installed Ruby from here: http://rubyinstaller.org/downloads/,
running the Ruby 1.9.3-p545 from the RubyInstaller section. (into
C:\Ruby193)
I installed also (for use with Ruby 1.8.7 and 1.9.3): the
DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe into C:\RubyDevKit.
I went to RubyDevKit in cmd and typed:
dir dk.rb
ruby dk.rb init
ruby dk.rb install
I launched irb (typed irb in C:\RubyDevKit) to confirm ruby
works and it does.
I am right now faced with this problem
Reset DNS cache solved that problem for me
(Run "ipconfig /flushdns" from cmd shell)

Installing Rails on Ubuntu behind the proxy

I am under Ubuntu 12.04 LTS.
I am behind the proxy.
I have installed rvm to manage ruby versions.
I would like to install the rails but I have encountered the problem:
test#U205-UBUNTU:~$ gem install rails
ERROR: Could not find a valid gem 'rails' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Forbidden 403 (http://rubygems.org/latest_specs.4.8.gz)
I have tried different ways to force gem to use proxy setting:
1. gem install rails --http-proxy=http://10.10.16.8:3128
2. gem install rails -p=http://10.10.16.8:3128
3. export http_proxy=http://10.10.16.8:3128
4. I have added to .bashrc lines:
export http_proxy=http://10.10.16.8:3128
export https_proxy=https://10.10.16.8:3128
5. I have added to /etc/environment lines:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"
http_proxy=http://10.10.16.8:3128
https_proxy=https://10.10.16.8:3128
But nothing helped me.
I am still getting the message:
test#U205-UBUNTU:~$ gem install rails
ERROR: Could not find a valid gem 'rails' (>= 0) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
bad response Forbidden 403 (http://rubygems.org/latest_specs.4.8.gz)
But apt-get and rvm work fine.
There was a problem with my proxy settings that restrict an access to Internet.
Sorry for incorrect question). The solution here is to add (as a superuser) the following to the file /etc/environment:
http_proxy=http://<proxy-host>:<proxy-port>
where
<proxy-host> is the real name of your proxy machine (or the ip address)
<proxy-port> is the port number you have to use
You don't have to set the proxy then for Gem.

Gem not installing, showing connection error

When I try to install gem like bundler or rake after creating new gemset , its not installing
,but if i intall old version its working fine for me . Here are the error logs while installing gems
gem install rake
Fetching: rake-0.9.2.2.gem ( 7%)ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
too many connection resets (http://cachefly.mirrors.rubygems.org/gems/rake-0.9.2.2.gem)
This problem was caused by the cachefly server.
It seems that the folks over at rubygems.org disabled this mirror and then people's downloads were able to continue successfully.
There is a thread over at rubygems.org discussing this issue.
Use DevKit to install gem separately .
Edit :
Please check if you curl or wget that URL:
wget http://production.cf.rubygems.org/gems/rails-2.3.8.gem
curl -O http://production.cf.rubygems.org/gems/rails-2.3.8.gem
If not, then the problem is with your internet connection, http proxy or
provider.
If your browser works, might be due an HTTP proxy.
I had a similar issue when Capistrano was running a bundle install on a remote server. It seems to have been caused by a .rvmrc file in the project that I had not authorised.
So all I had to do to fix is was ssh into the server, cd into the project and accept the .rvmrc config file.
got similar problem
gem install rails
# after 5 minutes
WARNING: Error fetching data: too many connection resets (http://production.s3.rubygems.org/latest_specs.4.8.gz)
gem install rails --source 'https://rubygems.org'
# after 5 minutes
WARNING: Error fetching data: too many connection resets (http://production.s3.rubygems.org/latest_specs.4.8.gz)
but when I create Gemfile
source 'https://rubygems.org'
gem 'rails', '3.2.13'
and run bundle install it works
my location is London, UK
(also created topic on http://help.rubygems.org/discussions/problems/4494-too-many-connection-resets-when-gem-install-rails )
Always check if your computer isn't downloading because of administrator privileges (in cmd, shell, or rubymine).

Redmine installation - ruby rails 2.3.11 manual download

I am having a very hard time finding Rails 2.3.11 to download. I am trying to install this on Windows XP which Redmine 1.2.x requires this version. When I try to install the gem through the command prompt this is what I get:
C:\>gem install rails -v=2.3.11
ERROR: Could not find a valid gem 'rails' (=2.3.11) in any repository
ERROR: While executing gem ... (Gem::RemoteFetcher::FetchError)
Errno::ETIMEOUT: A connection attempt failed because the connected party ddi not properly respond after a period of time, or established connection failed because connected host has failed to respond. - connect(2) (http://rubygems.org/latest_specs.4.8.gz)
I believe this problem is due to my highly secured internet connection. So I would like to manually download Rails 2.3.11. But I cannot find it. It seems it should be here: http://rubyforge.org/frs/?group_id=307 but the needed version 2.3.11 is not listed!
You are looking for http://rubygems.org/gems/rails/versions/2.3.11 ?
With manual installation you may get problems with dependecies (the needed gems must be loaded again manual when you use gem install xxx --local
Check this out
gem install -v=2.3.11 rails

Resources