Подтвердить что ты не робот

"gem install rails" терпит неудачу с ошибкой 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)

Я попытался:

  • Установка других драгоценных камней (devise, activerecord). Я получаю ту же ошибку.
  • Переустановка RVM
  • Запуск gem update --system
  • Установка статического DNS в google 8.8.8.8 и 8.8.4.4
  • Добавление https://production.cf.rubygems.org в качестве источника драгоценных камней (см. ниже для ошибки)
  • Установка 14.04 по сравнению с предыдущими 12.04. Ошибка сохраняется. Источник ошибки должен быть вне моего компьютера.

Дополнительная информация о моем подключении:

  • Я могу подключиться к https://rubygems.org/ через мой браузер
  • Модем-брандмауэр полностью отключен.
  • $ curl -v --head https://rubygems.org вывод: http://pastebin.com/ca6DAvaU

Мой /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

Добавить источник прямых драгоценных камней

Ссылка: qaru.site/info/250789/...

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

Дополнительная информация об отладке для 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>'
4b9b3361

Ответ 1

Как указано blasio. Похоже, что модемы Xfinity настраивают домен поиска на home.network, и это приводит к ошибкам по причинам, о которых он упомянул (по сути, home.network теперь является допустимым именем домена, с которым модемы пытаются связаться, прежде чем устанавливать соединение).

У меня была такая же проблема, и модификация на resolv.conf, похоже, делает трюк, и это, вероятно, должно быть приемлемым решением для сред Linux. У меня была эта проблема, пытаясь сделать это на виртуальной машине, работающей на ubuntu, и мой хост (OSX Mavericks) передавал search home.network, как и модем, поэтому я хотел посмотреть, смогу ли я найти решение, которое можно было бы сделать на хост OS, потому что та же проблема возникла, когда я попытался gem install rails на моем терминале OSX.

Если вы перейдете к сетевым настройкам OSX, под DNS вы увидите строку home.network в области "Домены поиска". После некоторого googling кажется, что comcast недавно изменил это с http://hds1.ma.comcast.net'. Я изменил его, перезапустил и дал gem install rails еще один снимок, который работал без проблем.

Странная проблема, но это лучшее решение для обмена модемами или изменения источников драгоценных камней.

Ответ 2

У меня была такая же проблема с Comcast xFinity и Compass.

Обновление для пользователей 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.

Ответ 3

Кажется, что ваша ошибка DNS связана с тем, что .network становится TLD, а ваш resolv.conf отсутствует ndots. Я просто столкнулся с этой проблемой с .prod.

Если у вас нет собственного DNS-сервера дома для внутреннего домена .net, удаление search home.network из /etc/resolv.conf должно устранить проблему.

Поскольку ваш /etc/resolv.conf генерируется resolveconf, как он говорит в вашем resolv.conf, вы можете удалить домашнюю сеть из своей конфигурации, см. здесь для пример

Ответ 4

Я просто хочу поблагодарить всех вас. Так как я здесь новый. Я не могу добавить комментарий даже для голосования. Поэтому я могу только прийти к ответу.

У меня возникла проблема, когда я пытался установить 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`

Добавление home.local в области поиска DNS фиксирует его.

Еще раз спасибо! Я восхищаюсь твоим духом!!!

Ответ 5

Я использую RVM (1.25.29), Ubuntu 14.04 и ruby ​​2.0.0. Это была новая установка RVM и ruby ​​2.0.

В моем случае я пытался установить инструмент командной строки OpenShift Online: rhc с "gem install rhc".

Я, наконец, исправил это с помощью установки пакета и Gemfile. Я не уверен, почему, но пучок смог получить драгоценные камни через https в rubygems.org, но "gem install" не смог.

Попробуйте создать Gemfile с вашим камнем в нем в качестве временного исправления, чтобы установить камень.

Gemfile:

source 'https://rubygems.org'

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

Затем запустите:

 bundle install

Единственный способ, которым я смог заставить его работать, используя "gem install" , состоял в том, чтобы использовать:

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

Но это небезопасно и НЕ рекомендуется.

Я не смог определить, почему пакет может установить через https, но gem не может. Я относительно новичок в рубине и rvm.

Драйвер bundler поставляется с установкой rvm, но rubygems поставляется с ruby2.0.0-p481. Сначала и из-за ошибки я подумал, что это имеет какое-то отношение к openssl, но после большого количества проб и ошибок, похоже, связано с отсутствующими зависимыми драгоценными камнями.

После того, как камень был установлен через комплект, я смог его удалить, а затем снова установить через "gem install" . Я заметил, что "установка пакета" установила некоторые отсутствующие сети и связанные с ssl камни перед установкой "rhc".

Не зная много о том, как работает сборка и сборка драгоценных камней, я думаю, что у драгоценного камня поставщика было "все", что нужно было выйти через https, в то время как rubygems (который поставлялся с ruby ​​2.0 установка) не делал. И это объясняет, почему после установки пакета работа с gem была выполнена.

Я надеюсь, что это сработает для всех, кто столкнулся с этим. Если нет, по крайней мере, это еще одна попытка попробовать;-).

Ответ 6

Я использую ОС openSUSE 13.1 для разработки своих рельсов. Внезапно я получил ту же проблему и сообщил в список рассылки SUSE . А затем получил очень хорошее объяснение проблемы здесь.

Справочная информация: tld ".site" зарегистрирован на месте и, следовательно, больше не доступен для частного использования.

ToDo: измените свой частный tld на что-то, что не зарегистрировано.

Gotchas: ".local" зарезервирован для mDNS/ZeroConf/Bonjour/Rendezvous. НЕ используйте его для DNS/DHCP!

Примеры: ".box", ".lan": оба из них предлагаются некоторыми маршрутизаторами Internet-Connect-Routers (DSL/кабель/Fiber) ".lnet", ".your-name-here" (.ArupRakshit для вас): возможно, стоит попробовать.

HTH, Ямабан.

Я следил за его установками здесь

Для будущих читателей goto YAST → Устройства Netwrok → Настройки сети → Имя хоста /DNS → Доменное имя (и здесь введите свое имя).

[[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

Теперь все установлено.:)

Ответ 7

Новые домены верхнего уровня -.prod,.net - это реальные домены, которые не будут использоваться в качестве внутреннего заполнителя - https://icann.org/namecollision

Ответ 8

Для меня "ваш-dns-needs-instant-внимание" , на самом деле означает, что ваши источники драгоценных камней недействительны.

gem source --list

Проверьте вывод. Если текущий список недействителен, вы можете просто

gem source -a https://rubygems.org

... или любые другие источники. Затем используйте флаг -r, чтобы удалить недопустимые источники.

Ответ 9

появляется comcast недавно добавила home.network для клиентов путь поиска DNS

Я решил эту проблему, выполнив следующие шаги в Windows Vista:

панель управления → сеть и центр обмена → управление сетевыми подключениями → свойства беспроводной сети → свойства ip4 → расширенный → вкладка dns → выберите добавление этих dns в порядке и добавьте home.lan.

теперь установка gem выполняется без заминки

Ответ 10

FWIW, если кто-то сталкивается с этим в Windows, вот как я его исправил (в 8.1).

  • Перейдите в Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом
  • Нажмите на свой статус сетевого адаптера и оттуда в его свойства
  • Дважды щелкните элемент IPv4
  • В свойствах IPv4 нажмите "Дополнительно"...
  • На вкладке DNS найдите суффикс "home.network" и удалите его.
  • Нажмите ОК несколько раз:)

Теперь вам должно быть хорошо идти!

Ответ 11

Для меня загрузка и переустановка gem с этой страницы: https://rubygems.org/pages/download решил проблему Errno:: ECONNREFUSED.

Ответ 12

Если вы работаете в системе Mac, вы можете попробовать

sudo vi /etc/resolv.conf

с помощью команды edit search с добавлением слова .local к слову.

Пример:

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

ПРИМЕЧАНИЕ. Выше network является доменом для этого случая. Вы можете использовать любое слово.

Ответ 13

У меня была такая же проблема при попытке установить premailer и обновление ruby ​​до текущей стабильной версии (2.3.0). Проблема была решена.

с rvm:

rvm install 2.3.0

rvm use 2.3.0

gem install premailer 

конечно же, это относится к любому драгоценному камню, а не только к предварителю

Ответ 14

Замените модем Comcast с другим (Motorola Surfboard SB6141 в этом случае).

Это неудовлетворительное решение, но решение тем не менее.