wake-up-neo.net

"gem install Rails" schlägt mit DNS-Fehler fehl

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

Ich habe versucht:

  1. Installieren anderer Edelsteine ​​(Gerät, Aktiverecord). Ich bekomme den gleichen Fehler.
  2. RVM erneut installieren
  3. gem update --system ausführen
  4. Festlegen des statischen DNS auf Google 8.8.8.8 und 8.8.4.4
  5. https://production.cf.rubygems.org als Edelsteinquelle hinzufügen (Fehler siehe unten)
  6. 14.04 über meinen vorherigen 12.04 installieren. Fehler bleibt bestehen Die Fehlerquelle muss außerhalb meines Computers liegen.

Weitere Informationen zu meiner Verbindung:

  1. Ich kann über meinen Browser eine Verbindung zu https://rubygems.org/ herstellen
  2. Die Firewall meines Modems ist vollständig deaktiviert.
  3. $ curl -v --head https://rubygems.org ausgabe: http://Pastebin.com/ca6DAvaU

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

Direkte Edelsteinquelle hinzufügen

Ref: https://stackoverflow.com/a/19299266/3993020

[email protected]:~$ 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)

Zusätzliche Debug-Informationen für gem install Rails

[email protected]:~$ 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>'
22
tmtmtmtmt

Wie blasio wies darauf hin. Es scheint, als würden die Xfinity-Modems die Suchdomäne auf home.network einrichten, und dies bringt die Dinge aus den Gründen, die er erwähnt hat (im Wesentlichen ist home.network nun ein gültiger Domänenname, den die Modems vor dem Herstellen einer Verbindung zu kontaktieren versuchen). 

Ich hatte das gleiche Problem und die Änderung an resolv.conf scheint den Trick zu tun, und das sollte wahrscheinlich eine akzeptierte Lösung für Linux-Umgebungen sein. Ich hatte dieses Problem, als ich dies auf einer virtuellen Maschine mit Ubuntu ausprobierte, und mein Host (OSX Mavericks) übergab den search home.network wie das Modem, also wollte ich nach einer Lösung suchen, die auf dem Host-Betriebssystem möglich ist weil das gleiche Problem aufgetreten ist, als ich gem install Rails an meinem OSX-Terminal versuchte. 

Wenn Sie zu den OSX-Netzwerkeinstellungen wechseln, wird unter DNS die Zeile home.network im Bereich Domains suchen angezeigt. Nach einigem Googeln scheint es, dass Comcast dies kürzlich von http://hds1.ma.comcast.net' geändert hat. Ich änderte es zurück, neugestartet und gab gem install Rails eine weitere Einstellung, die ohne Probleme funktionierte. 

Seltsames Problem, aber dies ist eine bessere Lösung als der Austausch von Modems oder das Wechseln von Edelsteinquellen. 

31
jalvarado91

Ich hatte das gleiche Problem mit Comcast xFinity und Compass.

Update für Windows 7-Benutzer:

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.
7
Bob Rast

Ihr DNS-Fehler scheint darauf zurückzuführen zu sein, dass .network eine TLD wird und Ihre resolv.conf die ndots -Konfiguration vermisst. Ich bin gerade mit .prod auf dieses Problem gestoßen.

Wenn Sie nicht über einen eigenen DNS-Server für die interne .network-Domäne zu Hause verfügen, sollte das Problem durch Entfernen des search home.network aus /etc/resolv.conf behoben werden.

Da Ihre /etc/resolv.conf von resolveconf generiert wird, wie in der resolv.conf angegeben, möchten Sie möglicherweise das home.network aus Ihrer Konfiguration entfernen. Siehe hier zum Beispiel

5
blasio

Ich möchte mich nur bei Ihnen allen bedanken. Da bin ich neu hier. Ich kann keinen Kommentar hinzufügen, nicht einmal abstimmen. Also kann ich nur zum Antwortteil kommen.

Ich habe ein Problem wie folgt, als ich versuchte, Cocoapods zu installieren:

➜  ~  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`

Das Hinzufügen von home.local zu den DNS-Suchdomänen behebt dies.

Danke noch einmal! Ich bewundere deinen Geist !!!

4
Roden Luo

Ich verwende RVM (1.25.29), Ubuntu 14.04 und Ruby 2.0.0. Dies war eine neue RVM- und Ruby 2.0-Installation. 

In meinem Fall habe ich versucht, das Befehlszeilentool von OpenShift Online zu installieren: rhc mit "gem install rhc".

Ich habe es schließlich mit Bundle Install und einer Gemfile behoben. Ich bin nicht sicher warum, aber Bundle konnte die Edelsteine ​​über https nach rubygems.org bringen, aber "gem install" konnte nicht.

Erstellen Sie ein Gemfile mit Ihrem Edelstein als temporären Fix, um den Edelstein zu installieren.

Gemfile:

source 'https://rubygems.org'

# have bundle handle the gem install via https
gem 'Rails'

Dann renne:

 bundle install

Die einzige Möglichkeit, wie ich es mit "gem install" zum Laufen bringen konnte, war:

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

Aber das ist unsicher und NICHT empfehlenswert.

Ich konnte nicht feststellen, warum Bundle über https installiert werden kann, aber Gem nicht. Ich bin relativ neu bei Ruby und rvm.

Der bundler gem kam mit der Installation von rvm, aber rubygems mit Ruby2.0.0-p481. Zuerst und wegen des Fehlers dachte ich, dass es etwas mit openssl zu tun hatte, aber nach vielem Ausprobieren scheint es mit fehlenden, abhängigen Edelsteinen zu tun zu haben.

Nachdem der Gem über Bundle installiert wurde, konnte ich ihn deinstallieren und dann über "gem install" erneut installieren. Ich habe bemerkt, dass "Bundle Install" einige fehlende Netzwerk- und SSL-bezogene Gems installiert hat, bevor "Rhc" installiert wird.

Ohne viel darüber zu wissen, wie Bundle und Gem Installarbeiten, denke ich, dass der Bundler Gem "alles" hatte, was er brauchte, um über auszugehen https, während rubygems (das mit der Ruby 2.0-Installation geliefert wurde) nicht ausgeführt wurde. Und das würde erklären, warum nach dem Bundle install _ ​​gem install funktioniert hat.

Ich hoffe, das funktioniert für alle, denen dies begegnet ist. Wenn nicht, ist es zumindest etwas mehr zu versuchen ;-). 

3
lauracw100

Ich verwende openSUSE 13.1 OS für meine Rails-Entwicklung. Plötzlich bekam ich das gleiche Problem und meldete mich an die SUSE Mailingliste . Und bekam dann eine sehr gute Erklärung zum Problem hier .

Hintergrund: Die tld ".site" ist offiziell registriert und somit nicht mehr für den privaten Gebrauch verfügbar. 

ToDo: Ändern Sie Ihre private tld in etwas, das NICHT registriert ist.

Gotchas: ".local" ist für mDNS/ZeroConf/Bonjour/Rendezvous ..__ reserviert. Verwenden Sie es NICHT für DNS/DHCP!

Beispiele: ".box", ".lan": Beide werden von einigen Internet-Connect-Routern vorgeschlagen (DSL/Kabel/Glasfaser) ".lnet", ".Ihr-Name-hier" (.ArupRakshit für Sie): Möglich, einen Versuch wert.

HTH, Yamaban.

Ich folgte seinen Instrumenten hier

Für zukünftige Leser gehen Sie zu YAST -> Netzwerkgeräte -> Netzwerkeinstellungen -> Hostname/DNS -> Domänenname (und geben Sie hier Ihren Namen ein).

[[email protected]]$ 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%) 
........
........
[[email protected]]$ Rails -v
Rails 4.2.0

Jetzt ist alles eingestellt. :)

3
Arup Rakshit

Neue Top-Level-Domains - .prod, .network sind echte Domains, die nicht als interne Platzhalter verwendet werden können - https://icann.org/namecollision

2
John Curran

Für mich "Ihre-DNS-Bedürfnisse-Sofort-Aufmerksamkeit" meinte eigentlich "Ihre Edelsteinquellen sind nicht gültig".

gem source --list

Überprüfen Sie die Ausgabe. Wenn die aktuelle Liste nicht gültig ist, können Sie dies einfach tun

gem source -a https://rubygems.org

... oder was auch immer andere Quellen angemessen sind. Verwenden Sie dann das Flag -r, um die ungültigen Quellen zu entfernen.

1
Gerry

Ich hatte das gleiche Problem, als ich versuchte, den Premailer zu installieren und ein Upgrade von Ruby auf die aktuelle stabile Version (2.3.0) durchzuführen. Dieses Problem wurde behoben.

mit rvm:

rvm install 2.3.0

rvm use 2.3.0

gem install premailer 

dies gilt natürlich für jeden Edelstein, nicht nur für den Vorversand

0
dnshio

FWIW, wenn jemand unter Windows auf dieses Problem stößt, habe ich es in 8.1 behoben.

  1. Gehen Sie zu Systemsteuerung\Netzwerk und Internet\Netzwerk- und Freigabecenter
  2. Klicken Sie in den Status Ihres Netzwerkadapters und von dort in seine Eigenschaften
  3. Doppelklicken Sie auf das IPv4-Element
  4. Klicken Sie in den IPv4-Eigenschaften auf Erweitert ...
  5. Suchen Sie auf der Registerkarte DNS nach dem Suffix 'home.network' und entfernen Sie es.
  6. Schlagen Sie ein paar Mal OK an :)

Jetzt solltest du gut sein!

0
somnambulant

Für mich habe ich Juwel von dieser Seite heruntergeladen und neu installiert: https://rubygems.org/pages/download Das Problem Errno :: ECONNREFUSED wurde behoben.

0
Lut Ze

Wenn Sie an einem Mac-System arbeiten, können Sie es versuchen

Sudo vi /etc/resolv.conf

von edit search Anweisung mit dem Anhängen von .local an ein Word. 

EX:

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

HINWEIS: Oben network ist die Domäne für diesen Fall. Sie können ein beliebiges Wort verwenden.

0
allen

es scheint, als habe comcast kürzlich home.network an den DNS-Suchpfad von Kunden angehängt

Ich habe dieses Problem durch Ausführen der folgenden Schritte unter Windows Vista behoben:

systemsteuerung -> Netzwerk- und Freigabecenter -> Netzwerkverbindungen verwalten -> Wireless-Eigenschaften -> IP4-Eigenschaften -> Erweitert -> Registerkarte "DNS" -> Wählen Sie "Anhängen", um diese DNS-Dateien anzuhängen.

nun läuft gem install problemlos

0
John Smith