我在安装ruby之后尝试安装sass,但是我得到以下错误,请帮我解决这个问题
maradhak@WW730VW7X1688 /c/softwares
$ gem -v
2.2.2
maradhak@WW730VW7X1688 /c/softwares
$ gem install sass
ERROR: Could not find a valid gem 'sass' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - SSL_connect retur
ned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (
https://rubygems.org/latest_specs.4.8.gz)
答案 0 :(得分:123)
该错误与易受Poodle SSL错误有关,因此无法验证。如果有办法升级到更好的证书,但在撰写此答案时,我找不到升级后的证书。
我使用非SSL主机,尽管我应该注意到这不是最好的也不是永久性的解决方案,它缺乏安全性。
使用的命令:
gem source -a http://rubygems.org/
有关此主题的讨论,请访问:https://github.com/rubygems/rubygems/issues/515#issuecomment-65326585
更新:现在似乎有一个永久解决方案,它将证书替换为适当的受保护解决方案。它可以在以下URL中找到,该页面中包含一个教程。 https://gist.github.com/luislavena/f064211759ee0f806c88#installing-using-update-packages-new
答案 1 :(得分:43)
简短回答:
gem sources -a http://rubygems.org/
确认,因为您信任rubygems.org,因此您并不真正关心该特定警告。然后:
gem install sass
它有效。
答案 2 :(得分:13)
感谢您的建议,正如您所说,这似乎是SSH更新问题。
已经解决了这个问题,简单地将我的RUBY版本从" 2.1.5"到" 1.8",宝石版本是" 1.8.29"。
然后我能够安装SASS
答案 3 :(得分:11)
以下为我工作:
删除https源临时,运行gem update --system,然后切换回https。
gem sources --remove https://rubygems.org/
gem sources --add http://rubygems.org
gem update --system
gem sources --remove http://rubygems.org
gem sources --add https://rubygems.org
答案 4 :(得分:6)
我今天也遇到了同样的问题。
正在运行gem install sass
ERROR: Could not find a valid gem 'sass' (>= 0), here is why:Unable to download data from https://rubygems.org/ -SSL_connect returned=1 errno=0 state=SSLv3read server certificate B: certificate verify failed(https://api.rubygems.org/specs.4.8.gz)
然后我找到了解决问题的方法:
gem sources -a http://rubygems.org/
gem install sass
向源添加http://rubygems.org/解决了这个问题。
答案 5 :(得分:4)
对我而言,这是一个代理问题。当我将代理详细信息附加到gem install命令时,它可以工作。
gem install sass --http-proxy=http://<yourproxy>:<port>
答案 6 :(得分:1)
Rubygems(http://rubygems.org/)的第一步然后下载sass(http://rubygems.org/gems/sass) 放入:npm install
答案 7 :(得分:1)
您不需要禁用SSH或降级您的ruby版本,您只需手动安装SASS gem即可。以下是如何做到这一点:
sass-*.*.*.gem
)C:\Ruby22-x64\bin\sass-*.*.*.gem
cd C:Ruby22-x64/bin
gem install sass-*.*.*.gem1
注意:您可能还需要在安装gem时调用 local 标志:gem install --local C:Ruby22-x64/bin/sass-*.*.*.gem
答案 8 :(得分:0)
在你的Windows上安装一个完整的Cygwin,ssh支持很好。您应该能够安装它而无需任何额外的努力,我总是这么做。实际上,一旦安装了Cygwin,就很难使用命令提示符。
答案 9 :(得分:0)
我对Ruby和Sass完全不熟悉。我不想冒安全风险而且我在Windows机器上。我已经安装了最新的ruby,但在尝试在命令提示符下运行gem install sass
时,仍然收到与OP相同的错误消息。
这就是为我解决问题的原因。
转到:https://rubygems.org/pages/download并按照此处开始的页面上的说明进行操作(手动安装):
如果您没有安装任何RubyGems,那么仍然需要使用pre-gem方法来获取软件,并手动执行:
- 从上面下载(上面的URL)
- 解压缩/解压缩到一个目录中并
cd
在那里(进入你解压缩的目录)- 使用以下命令安装:
醇>ruby setup.rb
(在命令行输入该命令。您可能需要admin / root权限)
安装ruby gem之后,我打开了Ruby命令提示符(使用从开始菜单中使用Ruby 启动命令提示符)并运行命令gem install sass
并且它有效:
C:\Users\chris>gem install sass
Fetching: sass-3.4.22.gem (100%)
Successfully installed sass-3.4.22
Parsing documentation for sass-3.4.22
Installing ri documentation for sass-3.4.22
Done installing documentation for sass after 36 seconds
1 gem installed
希望尽可能地为像我这样的其他新手详细介绍一下。希望这有助于某人。
答案 10 :(得分:0)
从http更改为https会使您的计算机容易受到黑客攻击
我在答案中解释了一些解决方案:https://stackoverflow.com/a/40075753/845413
如果您通过搜索发现此错误,并且正在 OSX 上使用 RVM ,则只需运行。
rvm osx-ssl-certs update all
Bundler在其故障排除指南中概述了其他一些解决方案:http://bundler.io/v1.16/guides/rubygems_tls_ssl_troubleshooting_guide.html#troubleshooting-certificate-errors
并包括......
gem install bundler
gem update --system
最后,您只需手动重新安装RVM或rubygems。
手动安装Ruby gem:https://rubygems.org/pages/download
手动安装RVM(推荐):http://rvm.io/