$ 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)
我试过了:
gem update --system
https://production.cf.rubygems.org
作为宝石来源(参见下面的错误)https://rubygems.org/
$ curl -v --head https://rubygems.org
输出:http://pastebin.com/ca6DAvaU $ 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
参考: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)
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>'
答案 0 :(得分:31)
喜欢 blasio 指出。似乎Xfinity调制解调器正在将搜索域设置为home.network
,这是因为他提到的原因搞砸了事情(实质上,home.network现在是调制解调器在制作之前尝试联系的有效域名连接)。
我有同样的问题,resolv.conf上的修改似乎可以解决这个问题,而这应该是Linux环境的公认解决方案。我在运行ubuntu的虚拟机上尝试这个问题时遇到了这个问题,我的主机(OSX Mavericks)就像调制解调器那样传递search home.network
,所以我想看看能否找到一个可以完成的解决方案在主机操作系统级别,因为在我的OSX终端上尝试gem install rails
时发生了同样的问题。
如果您转到OSX网络设置,则在DNS下您会看到“搜索域”区域下的home.network
行。经过一些谷歌搜索,似乎comcast最近从http://hds1.ma.comcast.net'
改变了这一点。我把它改回来了,重新启动并给了gem install rails
另一个镜头,这没问题。
奇怪的问题,但这是一个更好的解决方案,交换调制解调器或更改宝石源。
答案 1 :(得分:7)
我在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.
答案 2 :(得分:5)
您的DNS错误似乎与.network成为TLD并且您的resolv.conf错过了ndots配置有关。我刚用.prod。
遇到了这个问题除非您在家中有自己的DNS服务器用于内部.network域,否则从/etc/resolv.conf中删除search home.network
应该可以解决问题。
由于您的resolv.conf中的resolveconf生成了/etc/resolv.conf,您可能希望从配置中删除home.network,请参阅here for example
答案 3 :(得分: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搜索域中会修复它。
再次感谢!我很佩服你的精神!
答案 4 :(得分:3)
我正在使用RVM(1.25.29),Ubuntu 14.04和ruby 2.0.0。这是一个全新的RVM和ruby 2.0安装。
在我的情况下,我试图安装OpenShift Online的命令行工具:rhc with“gem install rhc”。
我最后使用 bundle install 和Gemfile修复了它。我不确定为什么,但是 bundle 能够通过 https 获取宝石到rubygems.org,但“gem install”不能。
的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
但这不安全,不推荐。
我无法确定为什么 bundle 可以通过 https 安装,但gem不能。我对ruby和rvm比较新。
bundler gem附带 rvm 安装,但 rubygems 附带ruby2.0.0-p481。起初,由于错误,我认为它与openssl有关,但经过大量的反复尝试后,它似乎与缺失的,依赖的宝石有关。
通过 bundle 安装gem后,我可以卸载它,然后通过“gem install”重新安装。我注意到“bundle install”在安装“rhc”之前安装了一些丢失的网络和ssl相关的gem。
在不了解 bundle 和 gem install 的工作原理的情况下,我认为 bundler gem拥有所需的“一切”通过 https 出去,而 rubygems (与ruby 2.0安装一起提供)没有。这可以解释为什么在捆绑安装之后, gem install 工作。
我希望这适用于遇到此问题的其他任何人。如果没有,至少还有一件事要尝试;-)。
答案 5 :(得分:3)
我使用openSUSE 13.1操作系统进行rails开发。突然间,我遇到了同样的问题并向SUSE mailing list报告。然后得到关于问题here的非常好的解释。
背景:tld&#34; .site&#34;是正式注册的,因此不再供私人使用。
ToDo:将您的私人标记更改为未注册的内容。
陷阱:&#34; .local&#34;保留给mDNS / ZeroConf / Bonjour / Rendezvous。 不要将它用于DNS / DHCP!
实施例: &#34; .box&#34;,&#34; .lan&#34; :两者都是由某些Internet-Connect-Routers建议的 (DSL /电缆/光纤) &#34; .lnet&#34;,&#34;。你的名字 - 这里&#34; (.ArupRakshit for you):可能,值得一试。
HTH,Yamaban。
我按照他的指示here
对于未来的读者,转到YAST - &gt; Netwrok设备 - &gt;网络设置 - &gt; 主机名/ DNS - &gt;域名(这里写下你的名字)。
[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
现在一切都已确定。 :)
答案 6 :(得分:2)
新的顶级域名 - .prod,.network是真实域名,不能用作内部占位符 - https://icann.org/namecollision
答案 7 :(得分:1)
对我而言“你的dns-needs-immediate-attention”,实际上意味着“你的宝石来源无效”。
gem source --list
检查输出。如果当前列表无效,那么您可以简单地
gem source -a https://rubygems.org
......或其他任何适当的来源。然后使用-r
标志删除无效的来源。
答案 8 :(得分:0)
最近看到comcast附加了home.network给客户的DNS搜索路径
我在Windows Vista上完成以下步骤解决了这个问题:
控制面板 - &gt;网络和共享中心 - &gt;管理网络连接 - &gt;无线属性 - &gt; ip4属性 - &gt;高级 - &gt; dns标签 - &gt;选择按顺序添加这些dns,并添加home.lan。
现在gem install顺利运行
答案 9 :(得分:0)
FWIW,如果有人在Windows中遇到此问题,请按照以下方法修改(8.1)。
现在你应该好好去!
答案 10 :(得分:0)
我从这个页面下载并重新安装gem:https://rubygems.org/pages/download解决了Errno :: ECONNREFUSED问题。
答案 11 :(得分:0)
如果您使用的是Mac系统,可以尝试
sudo vi /etc/resolv.conf
通过编辑search
语句并将.local
附加到单词。
EX:
# This file is automatically generated.
#
search network.local
注意:以上network
是此案例的域名。你可以使用任何单词。
答案 12 :(得分:0)
我在尝试安装预编译器并将ruby升级到当前稳定版本(2.3.0)时遇到了同样的问题解决了这个问题。
使用rvm:
<div class="rows" data-bind="foreach:$component.incomeRows">
<div class="t-tr" data-bind="css:$data.isNewRow()? 't-tr add':'t-tr', visible: $data.isVisible">
<div class="t-td td-1">
<select data-bind="options: $data.monthlyBudgetRowTypes, optionsValue: 'key', optionsText: 'name', value: $data.selectedTypeId"></select>
</div>
<div class="t-td td-2">
<input type="text" data-bind="textInput :$data.amount" />
</div>
<div class="t-td td-3">
<input type="text" data-bind="value:$data.description" />
</div>
<div class="t-td td-4">
<input type="text" class="input-date" data-bind="value:$data.date, attr:{id: datepickerID}" />
</div>
<div class="t-td td-5">
<input type="text" data-bind="value:$data.origin" />
</div>
<div class="t-td td-6">
<span data-bind="click: $component.loadIncomeToDesired, css:$data.isNewRow()? 'plus' : 'circle'"></span>
</div>
<div class="t-td td-7">
<span class="bin-icon" data-bind="click: $data.setDeletedRowState, css: $data.forDelete()? 'bin-icon selected' : 'bin-icon'">מחק</span>
</div>
</div><!-- t-tr -->
</div><!-- mo-table -->
当然,这适用于任何宝石,而不仅仅是预制商
答案 13 :(得分:-3)
更换另一台调制解调器Comcast(本例中为Motorola Surfboard SB6141)。
这是一个令人不满意的解决方案,但仍然是一个解决方案。