51

我正在尝试遵循 Hartl Rails 教程,但在使用 bundler gem 时遇到了问题。

使用命令“捆绑安装”或“捆绑更新”时,我得到以下输出:

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

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

我已经搜索过这个输出,但没有在网上找到很多相关的问题。

也许我有另一个打断捆绑器的宝石?在这一点上,我对 Rails 几乎没有经验。

    source 'https://rubygems.org'

gem 'rails', '3.2.12'

group :development do
  gem 'sqlite3', '1.3.5'
end


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '3.2.5'
  gem 'coffee-rails', '3.2.2'

  gem 'uglifier', '1.2.3'
end

gem 'jquery-rails', '2.0.2'

我的解决方案是两个部分:我将 https 更改为 http,这暂时解决了问题。第二个问题是我认为我安装的 ruby​​ 2.0.0 很糟糕,即使我使用的是全新安装的 ruby​​ 1.9.3。所以我重新安装了 ruby​​ 2.0.0,我可以将 bundle install 与 https 一起使用。

4

15 回答 15

60

以防万一以上都不能满足下一个无畏的探险家,我想我会放弃这里,在我花了 4 个小时做搜索的变种之后,我终于发现 IPV6 是罪魁祸首,在找到这个之后help.rubygems.org 上的特定线程。解决方案?这(Fedora,Linux):

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

设置一个 shell 脚本来打开和关闭 IPV6,这样我就可以在没有它的情况下运行命令,现在一切都运行良好。

于 2018-11-12T05:18:50.093 回答
25

我遇到过同样的问题。我发现的唯一可行的解​​决方案是在 Gemfile 中强制使用 http 而不是 https:

source 'http://rubygems.org'
于 2018-06-25T14:04:31.437 回答
10

如果在 Windows 中,您可以尝试以下操作:

set HTTP_PROXY= <your proxy address without http://>

set HTTPS_PROXY=%HTTP_PROXY%

例如:

HTTP_PROXY=mycompany.myproxy.com:8080

HTTPS_PROXY=%HTTP_PROXY%

为我工作

于 2014-03-17T04:35:39.840 回答
8

这也可能是暂时的网络问题。尝试使用命令重新启动网络服务

service network restart

如果它的 *nix 机器。

于 2018-07-08T11:43:49.213 回答
3

ruby-2.0.0-p247我在 OS X 10.8.5 上使用时遇到了同样的问题。

确保第一行在Gemfile使用https://

source 'https://rubygems.org'

我重新安装了那个版本的 ruby​​。

rvm reinstall ruby-2.0.0

Ruby 已升级ruby-2.0.0-p598(版本取决于最新补丁)。

bundle然后尽管重新安装了所有宝石,但仍可以正常工作。

于 2014-12-15T22:44:38.130 回答
2

导致此类问题的另一个原因是您是否位于代理服务器后面。我在这里描述了解决方案,也许它对其他人有用。:)

如果您不知道您的代理的登录/密码,并且遇到此问题,您可以首先检查您是否需要(重新)安装任何东西,通过命令:

C:\...> bundle check
Resolving dependencies...
The Gemfile's dependencies are satisfied

如果您得到上述其他响应,您可以在此处 (rubygems.org)找到正确版本的正确 gem ,然后通过命令安装它(从下载 gem 的目录):

gem install <gem-name> --locally 
于 2014-02-11T11:06:49.397 回答
1

我在 Cloud 9 中工作时遇到了这个问题。在尝试了几次“捆绑安装”并向 c9 支持发送电子邮件(没有回复)之后,我能够通过终止所有进程并硬重启 IDE 来使其正常工作。

通过直接单击右侧顶部显示 CPU、内存、磁盘的小条形图来执行此操作。然后单击进程列表,将它们全部选中,然后强制终止。然后退出进程列表。再次单击条形图,这次单击“重新启动”。

在此之后,我能够毫无问题地运行捆绑软件。

于 2015-06-23T05:59:17.987 回答
1

我的只是一个简单的网络问题,只需重启电脑/路由器

于 2020-07-15T06:42:11.923 回答
1

使用 http 或 https 都不起作用。

在我禁用 IP v6 后,它工作了

https://support.purevpn.com/how-to-disable-ipv6-linuxubuntu

于 2020-02-05T14:50:01.100 回答
1

用于wget查看是否可以访问域

wget http://rubygems.org/latest_specs.4.8.gz

如果失败,请尝试以下操作。

编辑您的/etc/resolv.conf文件并在顶部附近添加这些行以使用 Google 的名称服务器

nameserver 8.8.8.8
nameserver 8.8.4.4
于 2021-09-29T18:49:15.840 回答
0

为代理添加变量工作正常。

此外,如果您像我一样使用 Bitnami redmine,您可以将其添加到 setenv.bat 中,然后当您使用 Bitnami Redmine 快捷方式启动命令行时,它将自动添加到您的环境中。您可以在 Bitnami 安装文件夹下找到它。

于 2014-12-12T06:32:23.517 回答
0

有时它是由于您使用的代理而发生的。我试图通过使用没有代理的连接来解决这个问题,并且一切正常。
然后尝试:

bundle update

然后去

bundle install
于 2017-10-23T08:10:56.197 回答
0

对我来说,重新启动计算机有效。我已经重新安装了 ruby​​,更新了 bundler,删除了 's' https:// 但它们都不起作用!

于 2019-07-23T00:41:10.577 回答
0

如果您使用的是 Cloud9,只需重新启动(命令 R)并重试

于 2015-09-05T00:23:53.813 回答
-1

运行后将源表单 https 更改为 http

sudo bundle update sudo bundle install

于 2018-06-26T03:35:18.950 回答