Ruby on rails 捆绑安装不起作用
我正在Windows上开发RubyonRails 我们的本地网络出了问题,无法访问,好像被阻止了什么 但我可以通过网络访问它 以下是捆绑安装的结果: $bundle安装 从中获取源索引 由于错误(2/4),正在重试获取程序:Bundler::HTTPError无法从中获取规范 由于错误(3/4),正在重试获取程序:Bundler::HTTPError无法从中获取规范 由于错误(4/4),正在重试获取程序:Bundler::HTTPError无法从中获取规范 无法从中获取规格Ruby on rails 捆绑安装不起作用,ruby-on-rails,ruby,bundle,gemfile,Ruby On Rails,Ruby,Bundle,Gemfile,我正在Windows上开发RubyonRails 我们的本地网络出了问题,无法访问,好像被阻止了什么 但我可以通过网络访问它 以下是捆绑安装的结果: $bundle安装 从中获取源索引 由于错误(2/4),正在重试获取程序:Bundler::HTTPError无法从中获取规范 由于错误(3/4),正在重试获取程序:Bundler::HTTPError无法从中获取规范 由于错误(4/4),正在重试获取程序:Bundler::HTTPError无法从中获取规范 无法从中获取规格 是否有其他方法通过b
是否有其他方法通过
bundle install
安装gems?如@was所述,首先确保站点已启动,并且您的网络访问正常
如果效果很好,可以这样尝试:
- 首先,删除您的
文件Gemfile.lock
- 然后运行
gem更新--system
- 然后在文件中尝试更改第一行
到源代码 'https://rubygems.org“
(不带http://
)s
除非您的连接有问题,否则这应该可以解决捆绑安装的问题。这是一个连接问题。我通过hideMe VPN解决了它。它用于绕过被阻止的网站或仅针对特定用户关闭的服务器我也遇到了同样的问题,在运行
捆绑安装之前关闭rails服务器时,它碰巧起作用
这是一个连接问题
我把它解决了。它用于绕过被阻止的网站或仅针对特定用户关闭服务器
现在一切似乎都很好 在第一行的GEM文件中,源应该是http://而不是https:// 改变
sourçehttps://www.rubygems.org
进入
源代码http://www.rubygems.org
然后,您可以成功运行
bundle install
打开GEM文件并更改此文件的第一行
source 'https://www.rubygems.org'
对此
source 'http://www.rubygems.org'
从“https
”中删除“s
”。有时,
您的DNS导致此问题
您可以将DNS更改为1.1.1.1
或8.8.8
mac的使用说明
- 转到首选项面板
- 点击网络面板
- 单击“高级”按钮
- 转到DNS选项卡
- 添加DNS服务器(使用“+”按钮)
- 输入
或1.1.1.1
8.8.8.8
- 单击以确定
- 然后单击以应用
在rails应用程序中运行
bundle
时,我遇到了相同的错误。我通过运行以下命令来解决问题:
$ bin/bundle
问题是,
bundle
是v1.17.3,而bin/bundle
是2.0.2版。我也遇到了同样的问题,但在Ubuntu上,帮助运行的是:
env | grep proxy
其中显示了一些活动代理,如下所示:
https_proxy=127.0.0.1:8888
http_proxy=127.0.0.1:8888
在我使用unset命令删除它们之后:
unset https_proxy
unset http_proxy
我可以正常运行捆绑安装。这个错误对我来说非常困难。我有一天没能解决这个问题,但最后我关掉了我的wifi路由器,等了1分钟才再次打开。然后错误被修复了,希望有帮助。这只是一个网络问题 以下事项可以帮助您解决此问题-:
gem暂停时,我运行了netstat
netstat -tnp | grep ruby
我得到了低于输出
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
tcp6 0 1 2401:4900:188e:90:56960 2a04:4e42:600::644:443 SYN_SENT 4096/ruby
2a04:4e42:600::644:443是api.rubygems.org的地址之一
我的结论是,gem在可能的情况下使用IPv6
因此,在我的工作站上禁用IPV6修复了它。
以下是在Ubuntu上临时禁用IPV6的步骤。IPV6将在系统重新启动后启用
sysctl -w net.ipv6.conf.all.disable_ipv6=1
sysctl -w net.ipv6.conf.default.disable_ipv6=1
注意:将sudo用于
权限被拒绝问题。有人可能会发现这很有用:我在构建docker映像时收到了此错误消息,结果发现我在/etc/docker/daemon.json
中有一些自定义dns设置,这似乎是您的网络问题,而不是rubygems.org
请告诉我们您是否可以访问其他网站在没有任何代理的情况下自然访问这里()以确保问题是localIt的连接问题。我通过hideMe VPN解决了它。它用于绕过被阻止的网站,或仅针对特定用户关闭服务器。@soorapadman这不是一个只有链接的答案。请仔细阅读。ACHYUT KADAM建议更改行source'https://www.rubygems.org“
@CaptainMan我很抱歉。请不要在多个问题上添加相同的答案。回答最好的一个,并将其余的标记为重复项。看见