RVM拒绝安装 - 卷曲SSL证书验证失败

时间:2012-04-07 01:30:38

标签: ruby rvm

我正在进行相对干净的OS X安装。我有Xcode,但删除了它。

当我输入rvm install 1.9.3时,我得到:

max-macbook:~ max$ rvm install 1.9.3 Fetching yaml-0.1.4.tar.gz to /Users/max/.rvm/archives   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed   0     0    0     0    0     0      0      0 --:--:-- --:--:--
--:--:--     0 curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"  of Certificate Authority (CA) public keys (CA certs). If the default  bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in  the bundle, the certificate verification probably failed due to a  problem with the certificate (it might be expired, or the name might  not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use  the -k (or --insecure) option. There was an error, please check /Users/max/.rvm/log//*.log. Next we'll try to fetch via http. Trying ftp:// URL instead.   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed   0     0    0     0    0     0      0      0 --:--:-- --:--:--
--:--:--     0 curl: (60) SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"  of Certificate Authority (CA) public keys (CA certs). If the default  bundle file isn't adequate, you can specify an alternate file using the --cacert option. If this HTTPS server uses a certificate signed by a CA represented in  the bundle, the certificate verification probably failed due to a  problem with the certificate (it might be expired, or the name might  not match the domain name in the URL). If you'd like to turn off curl's verification of the certificate, use  the -k (or --insecure) option. There was an error, please check /Users/max/.rvm/log//*.log Extracting yaml-0.1.4.tar.gz to /Users/max/.rvm/src Error running 'tar xmzf /Users/max/.rvm/archives/yaml-0.1.4.tar.gz -C /Users/max/.rvm/src ', please read /Users/max/.rvm/log/ruby-1.9.3-p125/yaml/extract.log /Users/max/.rvm/scripts/functions/pkg: line 52: cd: /Users/max/.rvm/src/yaml-0.1.4: No such file or directory Configuring yaml in /Users/max/.rvm/src/yaml-0.1.4. Error running ' ./configure
--prefix="/Users/max/.rvm/usr"  ', please read /Users/max/.rvm/log/ruby-1.9.3-p125/yaml/configure.log Compiling yaml in /Users/max/.rvm/src/yaml-0.1.4. Error running 'make ', please read /Users/max/.rvm/log/ruby-1.9.3-p125/yaml/make.log


Database file /Users/max/.rvm/config/packages does not exist.

/Users/max/.rvm/scripts/functions/build: line 28: --version: command not found Installing Ruby from source to: /Users/max/.rvm/rubies/ruby-1.9.3-p125, this may take a while depending on your cpu(s)...

ruby-1.9.3-p125 - #fetching  ruby-1.9.3-p125 - #downloading ruby-1.9.3-p125, this may take a while depending on your connection...

似乎发生了奇怪的事情,就像我没有默认系统一样。这是我第一次尝试安装Ruby(最终试图访问Rails),所以整个过程对我来说都很陌生。

我检查了输出提到的几个日志,大部分时间RVM正在寻找一个不存在的文件(但是它说它已被下载)或者一个不存在的程序(它试图运行{ {1}}并找到了“找不到档案”。)

任何人都可以对此有所了解吗?我想尽快用Rails弄脏手。

5 个答案:

答案 0 :(得分:27)

旧的RVM证书已过期,我们正在迁移到较短的域rvm.io,我已更新所有资源和代码以指向新域,只需更新RVM:

rvm get head # OR:
rvm get stable

还有一个新的更短的安装程序命令:

curl -L get.rvm.io | bash -s stable

对于较旧的RVM版本,可能需要:

rvm get head
rvm reload
rvm get stable

答案 1 :(得分:17)

我们用以下方法解决了问题:

echo 'insecure' > ~/.curlrc

答案 2 :(得分:1)

我在Ubuntu上安装1.9.3时遇到同样的错误。 rvm网站的SSL证书has expired;错误来自于尝试获取yaml-0.1.4.tar.gz

看起来它在重试几次后会正确地故障转移到常规HTTP或FTP,因此不应该担心任何事情(尽管红色文本确实看起来不祥)。

如果你真的想要压制错误信息,请在~/.rvm/scripts/fetch中查找这两行(对我来说,第62和66行):

fetch_command="curl -x${rvm_proxy} -f -L --create-dirs -C - " # -s for silent

fetch_command="curl -f -L --create-dirs -C - " # -s for silent

并向curl添加-k标志,以便它不验证SSL证书:

fetch_command="curl -k -x${rvm_proxy} -f -L --create-dirs -C - " # -s for silent

fetch_command="curl -k -f -L --create-dirs -C - " # -s for silent

答案 3 :(得分:1)

这是Curl Certificate Error when Using RVM to install Ruby 1.9.2

的副本

Wei描述的解决方案在我的Debian框中运行良好:

wget http://pyyaml.org/download/libyaml/yaml-0.1.4.tar.gz
cp yaml-0.1.4.tar.gz /home/luc/.rvm/archives
rvm install 1.9.3 

答案 4 :(得分:1)

截至2013年11月2日,@ mpapis的答案对我不起作用。最终,rvm失败消息将我指向rvm.io/support/fixing-broken-ssl-certificates,它表示运行sudo apt-get install ca-certificates Ubuntu Linux系统。然后标准/curl -L get.rvm.io | bash -s stable起作用。