Windows 7 64位系统:无法找到有效的宝石(gem)'compass'(> = 0),原因是无法从https://rubygems.org/下载数据。

19
我无法安装Compass。 我想在我的项目上安装Compass,所以当我尝试更新时,会出现以下错误:

c:\wamp\www\danjasnowski.com>gem install compass ERROR: 无法找到有效的gem 'compass' (>= 0),原因如下:无法从https://rubygems.org/下载数据-SSL_connect返回=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://api.rubygems.org/specs.4.8.gz)

此外..这是我的当前版本。

c:\wamp\www\danjasnowski.com>gem --version

2.4.1


```

irb(main):001:0> RUBY_VERSION

=> "2.0.0"

irb(main):002:0> RUBY_RELEASE_DATE

=> "2014-05-08"

irb(main):003:0> RUBY_PLATFORM

=> "x64-mingw32"

irb(main):004:0> RUBY_PATCHLEVEL

=> 481

irb(main):005:0>

``` 这段代码展示了当前所使用的Ruby编程语言版本、发布日期、运行平台和补丁等级。
4个回答

63

尝试升级您的SSL证书。

  1. 下载http://curl.haxx.se/ca/cacert.pem文件。

  2. 将此文件保存在任何您想要的位置,例如:

  3. C:\cacert.pem
    
  4. 在命令行中告诉 Ruby 证书文件的位置,例如:

    set SSL_CERT_FILE=C:\cacert.pem
    
  5. 再试一次。

  6. gem install compass
    
  7. 如果它起作用了,您可以通过在控制面板中添加它来使证书文件变得永久。

来源和更多信息:https://gist.github.com/fnichol/867550


@PratikPatil 好主意。你能试试吗?如果有效,请随意编辑我的答案和/或在评论中发布你的结果,这样我就可以编辑我的答案。谢谢! - joelparkerhenderson
1
现在是2016年12月,这个解决方案仍然有效。我使用的路径是C:\Ruby200-x64。 - lito

2

对于不想处理SSL证书的懒人,还有一种额外的选择,那就是卸载并重新安装最新的Ruby环境。我曾经使用1.8版本,重新安装2.2.1版本就解决了问题。

Windows下载链接


你能告诉我一些可以从命令提示符中运行的卸载Ruby的命令吗?@1mike12 - Aakash Thakur

1
如果还有像我一样找不到解决方案的人,请看看我的解决方法:
我去了rubygems.org/pages/download并下载了压缩文件。然后我把它解压到C:分区的某个地方,解压后打开它。找到一个名为“setup.rb”的文件,双击它,它会安装一些东西,我不记得了。我猜是Ruby Gems。然后关闭所有东西,再次打开Windows上的cmd,尝试键入“gem install sass”。对我有效。Sass已安装。 :)
希望我能帮助到某些人,因为我今天整天都在寻找解决这个问题的方法。 :)

0
我的解决方案是这样的: 我卸载了当前针对x64系统的Ruby安装程序,并用Ruby x86 / 32位安装程序替换它,然后按照@joelparkerhenderson给出的步骤进行操作。
尽管我有x64系统,但这是唯一对我有效的解决方案。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接