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

时间:2013-03-04 04:18:13

标签: ruby-on-rails ruby gem bundler railstutorial.org

我正在尝试遵循Hartl Rails教程,并且遇到了捆绑宝石的问题。

使用命令'bundle install'或'bundle update'时,我得到以下输出:

  

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,我可以使用https的捆绑安装。

14 个答案:

答案 0 :(得分:21)

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

source 'http://rubygems.org'

答案 1 :(得分:9)

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

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

set HTTPS_PROXY=%HTTP_PROXY%

例如:

HTTP_PROXY=mycompany.myproxy.com:8080

HTTPS_PROXY=%HTTP_PROXY%

为我工作

答案 2 :(得分:8)

只要以上条件都不满足下一个强悍的浏览器,我想我会在这里花了4个小时进行搜索的各种变体,最终使我落在这里,我才发现这是罪魁祸首,找到this specific thread on 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,这样我就可以在没有它的情况下运行命令,现在一切都在运行。

答案 3 :(得分:2)

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

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

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

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

gem install <gem-name> --locally 

答案 4 :(得分:2)

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

确保Gemfile中的第一行使用https://

source 'https://rubygems.org'

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

rvm reinstall ruby-2.0.0

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

bundle然后工作没有错误,尽管重新安装了所有宝石。

答案 5 :(得分:2)

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

service network restart

如果是* nix机器。

答案 6 :(得分:1)

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

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

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

答案 7 :(得分:1)

有时它会因您使用的代理而发生。 我试图通过使用没有代理的连接解决这个问题,并且所有工作都完美无缺 然后尝试:

bundle update

然后去

bundle install

答案 8 :(得分:1)

使用http或https均无效。

禁用IP后 v6,它有效

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

答案 9 :(得分:0)

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

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

答案 10 :(得分:0)

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

答案 11 :(得分:0)

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

+--------+-------+-----+-------+-----+------------+-----+---------+ | Col_1 | Col_2 | ... | Col_5 | ... | Col_10 | ... | Col_100 | +--------+-------+-----+-------+-----+------------+-----+---------+ | 12 | Bob | ... | 18 | ... | 08/06/1992 | ... | 12.6 | | 6 | Mike | ... | 37 | ... | NULL | ... | 18.0 | | 18 | Sally | ... | 6 | ... | NULL | ... | 16.3 | | : | : | : | : | : | : | : | : | | 94 | Eli | ... | 37 | ... | 01/22/2003 | ... | 19 | +--------+-------+-----+-------+-----+------------+-----+---------+ sudo bundle update

答案 12 :(得分:0)

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

答案 13 :(得分:-1)

对我来说,重新启动计算机即可。我已经重新安装了ruby,更新了bundler,删除了's'https://,但是没有一个起作用!