捆绑安装不起作用
Bundle install is not working
我正在 Windows Rails 开发 Ruby。
我们的本地网络出了点问题,无法访问 https://www.rubygems.org,好像它被阻止了或什么的。
但是我可以通过http://www.proxyfoxy.com访问它。
下面是bundle install
的结果:
$ bundle install
Fetching source index from https://rubygems.org/
Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Could not fetch specs from https://rubygems.org/
还有其他方法可以通过bundle install
安装gem吗?
如@Wasif 所述,首先确保 Ruby Gems 站点已启动并且您的网络访问正常。
如果它们工作正常,请像这样尝试:
首先,删除您的 Gemfile.lock
文件
然后运行gem update --system
然后在您的 Gemfile 中尝试将第一行 source
'https://rubygems.org'
更改为 http://
(没有 s
)
除非您的连接有问题,否则这应该可以解决 bundle install
的问题。
这是一个连接 issue.I 通过 hideMe VPN 解决了它。它用于绕过被阻止的网站或仅针对特定用户关闭服务器
我遇到了同样的问题,当我在 运行 bundle install
之前关闭 rails 服务器时,它碰巧起作用了
这是一个连接问题。
我通过hideMe VPN解决了。它用于绕过被阻止的网站或仅针对特定用户关闭服务器。
现在似乎一切正常。
在您的 Gemfile 中,第一行的源应该是 http:// 而不是 https://
改变
sourçe https://www.rubygems.org
变成
source http://www.rubygems.org
那么就可以运行bundle install
成功
打开 Gemfile 并更改第一行
source 'https://www.rubygems.org'
至此
source 'http://www.rubygems.org'
从“https
”中删除“s
”。
有时,
您的 DNS 导致此问题。
您可以将 DNS 更改为 1.1.1.1
或 8.8.8.8
mac
的说明
- 转到首选项面板
- 点击网络面板
- 单击高级按钮
- 转到 DNS 选项卡
- 添加 DNS 服务器(使用“+”按钮)
- 输入
1.1.1.1
或 8.8.8.8
- 点击确定
- 然后点击申请
但您可以按照以下步骤操作:
http://www.macinstruct.com/node/434
windows
的说明
https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10
在 rails 应用程序中 运行 bundle
时,我遇到了同样的错误。我通过 运行:
解决了这个问题
$ bin/bundle
问题是 bundle
是 v1.17.3,而 bin/bundle
是版本 2.0.2。
我遇到了同样的问题,但在 Ubuntu 上,运行ning:
帮助了我
env | grep proxy
其中显示了一些像这样的活动代理:
https_proxy=127.0.0.1:8888
http_proxy=127.0.0.1:8888
在我使用 unset 命令删除它们之后:
unset https_proxy
unset http_proxy
我可以 运行 bundle install
正常。
这个错误对我来说很难。我一天都无法解决它,但最后我关闭了我的 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 解决 permission denied
问题。
有人可能会发现这很有用:我在构建 docker 图像时收到此错误消息,结果我在 /etc/docker/daemon.json
中有一些自定义 dns 设置
我通过禁用系统中的 IPv6 连接解决了这个问题 OS。它强制 OS 只使用 IPv4 然后它就可以工作了。
如果您的活动网络是 WiFi,请输入以下命令:
networksetup -setv6off Wi-Fi
如果您在以太网上:
networksetup -setv6off Ethernet
您可以结合使用这两个命令来同时禁用 WiFi 和以太网上的 IPv6:
networksetup -setv6off Ethernet && networksetup -setv6off Wi-Fi
要重新启用IPv6,需要将setv6off替换为setv6automatic(mac中的默认状态OS),例如:
networksetup -setv6automatic Wi-Fi && networksetup -setv6automatic Ethernet
我正在 Windows Rails 开发 Ruby。
我们的本地网络出了点问题,无法访问 https://www.rubygems.org,好像它被阻止了或什么的。
但是我可以通过http://www.proxyfoxy.com访问它。
下面是bundle install
的结果:
$ bundle install
Fetching source index from https://rubygems.org/
Retrying fetcher due to error (2/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Retrying fetcher due to error (3/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Retrying fetcher due to error (4/4): Bundler::HTTPError Could not fetch specs from https://rubygems.org/
Could not fetch specs from https://rubygems.org/
还有其他方法可以通过bundle install
安装gem吗?
如@Wasif 所述,首先确保 Ruby Gems 站点已启动并且您的网络访问正常。
如果它们工作正常,请像这样尝试:
首先,删除您的
Gemfile.lock
文件然后运行
gem update --system
然后在您的 Gemfile 中尝试将第一行
source 'https://rubygems.org'
更改为http://
(没有s
)
除非您的连接有问题,否则这应该可以解决 bundle install
的问题。
这是一个连接 issue.I 通过 hideMe VPN 解决了它。它用于绕过被阻止的网站或仅针对特定用户关闭服务器
我遇到了同样的问题,当我在 运行 bundle install
这是一个连接问题。
我通过hideMe VPN解决了。它用于绕过被阻止的网站或仅针对特定用户关闭服务器。
现在似乎一切正常。
在您的 Gemfile 中,第一行的源应该是 http:// 而不是 https://
改变
sourçe https://www.rubygems.org
变成
source http://www.rubygems.org
那么就可以运行bundle install
成功
打开 Gemfile 并更改第一行
source 'https://www.rubygems.org'
至此
source 'http://www.rubygems.org'
从“https
”中删除“s
”。
有时, 您的 DNS 导致此问题。
您可以将 DNS 更改为 1.1.1.1
或 8.8.8.8
mac
的说明- 转到首选项面板
- 点击网络面板
- 单击高级按钮
- 转到 DNS 选项卡
- 添加 DNS 服务器(使用“+”按钮)
- 输入
1.1.1.1
或8.8.8.8
- 点击确定
- 然后点击申请
但您可以按照以下步骤操作: http://www.macinstruct.com/node/434
windows
的说明https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10
在 rails 应用程序中 运行 bundle
时,我遇到了同样的错误。我通过 运行:
$ bin/bundle
问题是 bundle
是 v1.17.3,而 bin/bundle
是版本 2.0.2。
我遇到了同样的问题,但在 Ubuntu 上,运行ning:
帮助了我env | grep proxy
其中显示了一些像这样的活动代理:
https_proxy=127.0.0.1:8888
http_proxy=127.0.0.1:8888
在我使用 unset 命令删除它们之后:
unset https_proxy
unset http_proxy
我可以 运行 bundle install
正常。
这个错误对我来说很难。我一天都无法解决它,但最后我关闭了我的 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 解决 permission denied
问题。
有人可能会发现这很有用:我在构建 docker 图像时收到此错误消息,结果我在 /etc/docker/daemon.json
我通过禁用系统中的 IPv6 连接解决了这个问题 OS。它强制 OS 只使用 IPv4 然后它就可以工作了。
如果您的活动网络是 WiFi,请输入以下命令:
networksetup -setv6off Wi-Fi
如果您在以太网上:
networksetup -setv6off Ethernet
您可以结合使用这两个命令来同时禁用 WiFi 和以太网上的 IPv6:
networksetup -setv6off Ethernet && networksetup -setv6off Wi-Fi
要重新启用IPv6,需要将setv6off替换为setv6automatic(mac中的默认状态OS),例如:
networksetup -setv6automatic Wi-Fi && networksetup -setv6automatic Ethernet