【问题标题】:Bundle install is not working捆绑安装不起作用
【发布时间】:2016-11-19 11:52:31
【问题描述】:

我正在 Windows 上开发 Ruby on Rails。

我们的本地网络出了点问题,无法访问https://www.rubygems.org,似乎被阻止了。

但是我可以通过http://www.proxyfoxy.com访问它。

下面是bundle install的结果:

$ 捆绑安装

https://rubygems.org/获取源索引

由于错误重试 fetcher (2/4):Bundler::HTTPError 无法从 https://rubygems.org/ 获取规范

由于错误 (3/4) 重试 fetcher:Bundler::HTTPError 无法从 https://rubygems.org/ 获取规范

由于错误 (4/4) 重试 fetcher:Bundler::HTTPError 无法从 https://rubygems.org/ 获取规范

无法从 https://rubygems.org/ 获取规范

还有其他方法可以通过bundle install安装gem吗?

【问题讨论】:

  • 似乎是您的网络问题,而不是rubygems.org
  • 让我们知道您是否可以在没有任何代理的情况下以自然方式访问其他网站
  • 访问这里 (isitup.org/rubygems.org) 以确保问题是本地的

标签: ruby-on-rails ruby bundle gemfile


【解决方案1】:

我解决了这个问题,在我的系统操作系统中禁用 IPv6 连接。它强制操作系统只使用 IPv4,然后它就可以工作了。

如果您的活动网络是 WiFi,请输入以下命令:

networksetup -setv6off Wi-Fi

如果您在以太网上:

networksetup -setv6off Ethernet

您可以结合这两个命令来同时禁用 WiFi 和以太网上的 IPv6:

networksetup -setv6off Ethernet && networksetup -setv6off Wi-Fi

要重新启用 IPv6,需要将 setv6off 替换为 setv6automatic(macOS 中的默认状态),例如:

networksetup -setv6automatic Wi-Fi && networksetup -setv6automatic Ethernet

参考:https://vladtalks.tech/vpn/how-to-disable-ipv6-on-mac

【讨论】:

    【解决方案2】:

    有人可能会觉得这很有用:我在构建 docker 映像时收到此错误消息,结果发现我在 /etc/docker/daemon.json 中有一些自定义 dns 设置

    【讨论】:

      【解决方案3】:

      当 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
      

      注意:permission denied 问题使用 sudo。

      【讨论】:

      【解决方案4】:

      这只是网络问题。

      以下事情可以帮助你解决这个问题-:

      1. 忘记网络并重新连接。
      2. 打开手机的飞行模式,如果您连接了移动热点,请再次关闭它

      【讨论】:

        【解决方案5】:

        这个错误对我来说非常困难。我一天都无法解决它,但最后我关掉了我的 wifi 路由器,等了 1 分钟再打开它。然后错误已修复,希望对您有所帮助。

        【讨论】:

          【解决方案6】:

          我遇到了同样的问题,但在 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
          

          我可以正常运行bundle install

          【讨论】:

            【解决方案7】:

            在 Rails 应用程序中运行 bundle 时,我遇到了同样的错误。我通过运行来解决问题:

            $ bin/bundle
            

            问题是 bundle 是 v1.17.3,而 bin/bundle 是版本 2.0.2。

            【讨论】:

              【解决方案8】:

              有时, 您的 DNS 会导致此问题。

              您可以将您的 DNS 更改为 1.1.1.18.8.8.8

              mac 使用说明

              • 转到首选项面板
              • 点击网络面板
              • 点击进入高级按钮
              • 转到 DNS 选项卡
              • 添加 DNS 服务器(使用“+”按钮)
              • 输入1.1.1.18.8.8.8
              • 点击确定
              • 然后点击申请

              但您可以按照以下步骤操作: http://www.macinstruct.com/node/434

              Windows 使用说明

              https://www.windowscentral.com/how-change-your-pcs-dns-settings-windows-10

              【讨论】:

                【解决方案9】:

                打开 Gemfile 并从中更改第一行

                source 'https://www.rubygems.org'
                

                到这里

                source 'http://www.rubygems.org'
                

                从“https”中删除“s”。

                【讨论】:

                • @soorapadman 这不是仅链接的答案。请仔细阅读。 ACHYUT KADAM 建议改行source 'https://www.rubygems.org'
                • @CaptainMan 我很抱歉。
                【解决方案10】:

                这是一个连接问题。

                我通过hideMe VPN 解决了这个问题。它用于绕过被阻止的网站或仅针对特定用户关闭服务器。

                现在一切似乎都运行良好。

                【讨论】:

                  【解决方案11】:

                  在第一行的 Gemfile 中,源应该是 http:// 而不是 https://

                  改变

                  sourçe  https://www.rubygems.org 进入

                  source  http://www.rubygems.org

                  那么你就可以成功运行bundle install

                  【讨论】:

                    【解决方案12】:

                    我遇到了同样的问题,当我在运行 bundle install 之前关闭 rails 服务器时它碰巧起作用了

                    【讨论】:

                      【解决方案13】:

                      这是一个连接问题。我通过 hideMe VPN 解决了​​它。它用于绕过被阻止的网站或仅针对特定用户关闭服务器

                      【讨论】:

                        【解决方案14】:

                        正如@Wasif 提到的,首先确保Ruby Gems 站点已启动并且您的网络访问正常。

                        如果他们工作正常,试试这样:

                        • 首先,删除你的Gemfile.lock文件

                        • 然后运行gem update --system

                        • 然后在您的 Gemfile 中尝试将第一行 source 'https://rubygems.org' 更改为 http://(不带 s

                        除非您的连接有问题,否则这应该可以解决 bundle install 的问题。

                        【讨论】:

                        • 这是一个连接问题。我通过 hideMe VPN 解决了​​。它用于绕过被阻止的网站或仅针对特定用户关闭服务器。
                        猜你喜欢
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2017-10-31
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多