环境变量
在cmd中运行命令后在Windows中安装rails后,会出现错误
系统无法找到指定的路径
第二,当我在cmd中运行命令时,会出现错误
错误:找不到有效的宝石'铁路' < = 4.2.3>这就是为什么:
无法从https://rubygems.org/ - SSL_connect下载数据 返回= 1 errorno = 0 state = SSLv3读取服务器证书B: 证书验证失败https://api.rubygems.org/specs.4.8.gz
答案 0 :(得分:1)
您可能在为https网站创建虚假证书的公司代理背后,以便它可以嗅探https流量。这通常有效的原因是您将公司证书作为客户的受信任根证书,但它对Gem不起作用,因为它使用证书固定。
解决方案是
SET SSL_CERT_FILE=c:\your\company\cert.pem
source 'https://rubygems.org'
改为source 'http://rubygems.org'
):ssl_verify_mode: 0
添加到位于%USERPROFILE%\.gemrc
的Windows上的gemrc文件中)请注意,如果您将gem源更改为http或关闭证书验证,攻击者可能会篡改下载的gem(将内容更改为任意代码)。你通常不应该这样做。
答案 1 :(得分:0)
转到命令提示符,然后输入以下行。
gem sources -r https://rubygems.org/
gem sources -a http://rubygems.org/
,之后输入y
。
然后您应该可以安装gem
。
答案 2 :(得分:0)
对于安装了PowerShell的Windows
安装Windows PowerShell
将此1行代码粘贴到命令控制台中:(WIN + R,cmd)
powershell -Command "& {$fname='cacert.pem'; $outpath=\"$($(Get-ChildItem Env:USERPROFILE).Value)/$fname\"; Invoke-WebRequest http://curl.haxx.se/ca/$fname -OutFile \"$outpath\"; [Environment]::SetEnvironmentVariable('SSL_CERT_FILE', \"$outpath\", 'User')}"
脚本可以:
将其另存为%USERPROFILE%/cacert.pem ( C:\Users\__you__\cacert.pem)
将当前用户SSL_CERT_FILE
的持久性环境变量设置为%USERPROFILE%/cacert.pem
此后尝试安装gem