报错信息如下:
gpgkeys: HTTP fetch error 6: Could not resolve host: keys.gnupg.net; Name or service not known
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
关键信息:
gpgkeys: HTTP fetch error 6: Could not resolve host: keys.gnupg.net; Name or service not known
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0
这个错误信息表明在尝试导入 RVM 项目的 GPG 公钥时,gpg
命令无法解析 keys.gnupg.net
主机名,因此无法连接到 GPG 服务器,这通常是因为 DNS 配置问题或网络连接问题导致的。
然后我就去 检查 DNS 配置
[admin@localhost ~]$ cat /etc/resolv.conf
没什么异样,这里原来是 nameserver 192.168.9.2
原本这个 ip 就可以访问外部资源,但还是按照网络教程改成 google DNS 配置:nameserver 8.8.8.8
,其实改不改无所谓。
查了网上资料,发现可以使用:
[root@localhost ~]# curl -sSL https://rvm.io/mapapis.asc | gpg2 --import
[root@localhost ~]# curl -sSL https://rvm.io/pkkuczynski.asc |gpg2 --import
或者
[root@localhost ~]# curl -L get.rvm.io | bash -s stable
尝试第一个和第二个:
行不通,尝试:curl -L get.rvm.io | bash -s stable
依然行不通,这个错误信息表明在尝试从 GitHub - rvm/rvm: Ruby enVironment Manager (RVM) 下载 RVM 1.29.12 版本时,发生了连接重置的错误,导致下载失败。然后,它尝试从 https://bitbucket.org/mpapis/rvm/downloads/1.29.12.tar.gz 下载 RVM,并且还尝试验证 GPG 签名,但也遇到了一些问题。
定位问题:
1)网络连接问题:确保网络可以访问外部资源,切没有防火墙或这代理干扰(排除这种情况)
2)GPG 签名验证问题:在第二个下载尝试时,GPG 试图验证下载的文件的签名。然而,它遇到了没有公钥的问题。你可以尝试运行以下命令来获取 GPG 密钥:
gpg2 --keyserver hkp://keyserver.ubuntu.com --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
将尝试从 Ubuntu 的密钥服务器获取公钥。如果仍然出现问题,你可以尝试以下命令:
command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import -
这将下载并导入两个GPG密钥。
3)尝试其他源:如果仍然无法下载,可以尝试使用其他源来获取 RVM。你可以尝试使用 RVM 的官方站点来下载:
curl -sSL https://get.rvm.io | bash -s stable
最后问题解决(结尾出现 Donate:https://opencillective.com/rvm/donate
就是成功):
检查是否安装成功:
[root@localhost ~]# find / -name rvm -print
可以看到 rvm 安装成功!