“Gem install rails” falla con error de DNS

$ 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) 

He intentado:

  1. Instalar otras gems (idear, activerecord). Me sale el mismo error.
  2. Reinstalación de RVM
  3. Ejecución de gem update --system
  4. Configuración de DNS estático para Google 8.8.8.8 y 8.8.4.4
  5. Agregar https://production.cf.rubygems.org como una fuente de gems (ver a continuación el error)
  6. Instalando 14.04 sobre mi 12.04 anterior. El error persiste La fuente del error debe estar fuera de mi computadora.

Información adicional sobre mi conexión:

  1. Me puedo conectar a https://rubygems.org/ través de mi navegador
  2. El firewall de mi módem está completamente deshabilitado.
  3. $ curl -v --head https://rubygems.org salida: http://pastebin.com/ca6DAvaU

Mi /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 

Añadir fuente directa de gems

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) 

Información de depuración adicional para 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 `' 

Como blasio señaló. Parece que los módems Xfinity están configurando el dominio de búsqueda para home.network y esto está estropeando las cosas por las razones que mencionó (esencialmente, home.network ahora es un nombre de dominio válido con el que los módems están tratando de contactar antes de hacer una conexión )

Tuve el mismo problema y la modificación en resolv.conf parece hacer el truco, y eso probablemente debería ser una solución aceptada para entornos Linux. Tuve este problema al intentar esto en una máquina virtual que ejecutaba ubuntu, y mi host (OSX Mavericks) pasaba la search home.network como el módem, así que quería ver si podía encontrar una solución que se pudiera hacer en el nivel del sistema operativo anfitrión porque el mismo problema ocurrió cuando intenté gem install rails en mi terminal OSX.

Si va a la configuración de red de OSX, debajo de DNS verá la línea de home.network en el área Search Domains. Después de buscar en Google parece que Comcast cambió esto recientemente de http://hds1.ma.comcast.net' . Lo cambié de nuevo, reinicié y le di a gem install rails otra oportunidad, que funcionó sin problemas.

Extraño problema, pero esta es una mejor solución para intercambiar módems o cambiar fonts de gems.

Tuve el mismo problema con Comcast xFinity y Compass.

Actualización para usuarios de Windows 7:

 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. 

Su error de DNS parece estar relacionado con que .network se convierta en un TLD y su resolv.conf pierda la configuración de ndots . Acabo de encontrarme con este problema con .prod.

A menos que tenga su propio servidor DNS en el hogar para el dominio .network interno, eliminar la search home.network de /etc/resolv.conf debería solucionar el problema.

Como su /etc/resolv.conf es generado por resolveconf como dice en su resolv.conf, es posible que desee eliminar el home.network de su configuración, vea aquí por ejemplo

Solo quiero agradecerles a todos. Como soy nuevo aquí No puedo agregar un comentario, incluso votar. Entonces solo puedo ir a la parte de respuesta.

Tengo un problema como el siguiente cuando traté de instalar 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` 

Agregar home.local en DNS Search Domains lo soluciona.

¡Gracias de nuevo! Admiro tu espíritu !!!

Estoy usando RVM (1.25.29), Ubuntu 14.04 y ruby ​​2.0.0. Esta fue una nueva instalación de RVM y ruby ​​2.0.

En mi caso, estaba intentando instalar la herramienta de línea de comandos de OpenShift Online: rhc con “gem install rhc”.

Finalmente lo solucioné usando bundle install y un Gemfile. No estoy seguro de por qué, pero bundle pudo obtener las gems a través de https a rubygems.org, pero “gem install” no pudo.

Intenta crear un Gemfile con tu gem como una solución temporal para instalar la gem.

Gemfile:

 source 'https://rubygems.org' # have bundle handle the gem install via https gem 'rails' 

Entonces corre:

  bundle install 

La única forma en que pude hacer que funcionara con la “instalación de gems” fue usar:

 gem install --source http://rubygems.org 

Pero eso es inseguro y NO recomendado.

No he podido determinar por qué bundle puede instalarse a través de https , pero gem no puede. Soy relativamente nuevo en ruby ​​y rvm.

La gem del bundler vino con la instalación de rvm , pero los rubygems vienen con ruby2.0.0-p481. Al principio y debido al error, pensé que tenía algo que ver con openssl, pero después de mucho ensayo y error, parece estar relacionado con las gems faltantes y dependientes.

Después de que la gem se instaló a través de un paquete , pude desinstalarlo y luego volver a instalarlo a través de “gem install”. Noté que la “instalación del paquete” instaló algunas gems faltantes relacionadas con la red y el SSL antes de instalar “rhc”.

Sin saber mucho sobre cómo funcionan los paquetes y las gems , estoy pensando que la gem del bundler tenía “todo” que necesitaba para salir a través de https, mientras que los rubygems (que venían con la instalación de ruby ​​2.0) no. Y eso explicaría por qué después de la instalación del paquete , funcionó la instalación de gem .

Espero que esto funcione para cualquier otra persona que haya encontrado esto. Si no, al menos es una cosa más para probar ;-).

Estoy usando openSUSE 13.1 OS para el desarrollo de mis raíles. De repente, recibí el mismo problema e informé a la lista de correo de SUSE. Y luego obtuve una muy buena explicación sobre el problema aquí .

Antecedentes: el tld “.site” está registrado oficialmente y, por lo tanto, ya no está disponible para uso privado.

Tarea: Cambie su tld privado a algo NO registrado.

Gotchas: “.local” está reservado para mDNS / ZeroConf / Bonjour / Rendezvous. ¡NO lo use para DNS / DHCP!

Ejemplos: “.box”, “.lan”: ambos son sugeridos por algunos enrutadores de conexión de Internet (DSL / Cable / Fiber) “.lnet”, “.your-name-here” (.ArupRakshit para usted): posible , vale la pena intentarlo.

HTH, Yamaban.

Seguí sus instrumentos aquí

Para futuros lectores vaya a YAST -> Dispositivos Netwrok -> Configuración de red -> Nombre de host / DNS -> Nombre de dominio (y aquí ponga su nombre).

 [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 

Ahora todo está listo. 🙂

Nuevos dominios de nivel superior: .prod, .network son dominios reales que no se pueden usar como marcador de posición interno – https://icann.org/namecollision

Para mí, “tu-dns-necesita-atención inmediata” , en realidad significaba que “tus fonts de gems no son válidas”.

 gem source --list 

Verifica la salida. Si la lista actual no es válida, entonces puede simplemente

 gem source -a https://rubygems.org 

… o cualquier otra fuente que sea apropiada. Luego use el indicador -r para eliminar las fonts no válidas.

parece que comcast acaba de anexar home.network a la ruta de búsqueda de DNS de los clientes

Resolví este problema completando los siguientes pasos en Windows Vista:

panel de control -> red y centro de intercambio -> administrar conexiones de red -> propiedades inalámbricas -> propiedades de ip4 -> avanzada -> pestaña dns -> seleccionar anexar estos dns basta en orden y se agrega home.lan.

ahora la instalación de gem se ejecuta sin problemas

FWIW, si alguien encuentra esto en Windows, así es como lo arreglé (en 8.1).

  1. Vaya a Panel de control \ Redes e Internet \ Centro de redes y recursos compartidos
  2. Haga clic en el estado de su adaptador de red, y desde allí en sus propiedades
  3. Haga doble clic en el elemento IPv4
  4. En las Propiedades de IPv4, haga clic en Avanzado …
  5. En la pestaña DNS, busque el sufijo ‘home.network’ y elimínelo.
  6. Pulse Aceptar un montón de veces 🙂

¡Ahora deberías ser bueno para ir!

Para mí la descarga y reinstalación de gems desde esta página: https://rubygems.org/pages/download resolvió el problema Errno :: ECONNREFUSED.

Si trabajas en un sistema Mac, puedes intentar

sudo vi /etc/resolv.conf

edite el enunciado de search con la adición de .local a una palabra.

EX:

 # This file is automatically generated. # search network.local 

NOTA: la network arriba es el dominio para este caso. Puedes usar cualquier palabra.

Tuve el mismo problema al intentar instalar el premailer y al actualizar Ruby a la versión estable actual (2.3.0) se solucionó el problema.

con rvm:

 rvm install 2.3.0 rvm use 2.3.0 gem install premailer 

por supuesto, esto se aplica a cualquier gem, no solo al predicador

Reemplace el módem Comcast provisto con otro (Motorola Surfboard SB6141 en este caso).

Esta es una solución insatisfactoria, pero una solución, no obstante.