“gem install rails” fails with DNS error

后端 未结 14 714
我在风中等你
我在风中等你 2020-12-01 07:59
$ rvm use
Using /home/owner/.rvm/gems/ruby-2.1.2
$ gem install rails
ERROR:  While executing gem ... (Gem::RemoteFetcher::FetchError)
    Errno::ECONNREFUSED: Connec         


        
14条回答
  •  旧巷少年郎
    2020-12-01 08:32

    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 ;-).

提交回复
热议问题