由于gpg错误,无法在Ubuntu 16.04上安装Ruby rvm

Tam*_*erB 14 ruby linux ubuntu rvm ubuntu-16.04

我正在尝试在Ubuntu 16.04上安装Ruby.但是当我输入以下命令到终端时:

$ \curl -sSL https://get.rvm.io | bash -s stable --ruby
Run Code Online (Sandbox Code Playgroud)

我得到以下内容:

Downloading https://github.com/rvm/rvm/archive/1.29.1.tar.gz
Downloading https://github.com/rvm/rvm/releases/download/1.29.1/1.29.1.tar.gz.asc
gpg: Signature made 19 ???, 2017 EET 10:02:47 ? using RSA key ID ********
gpg: Can't check signature: No public key
Warning, RVM 1.26.0 introduces signed releases and automated check of signatures when GPG software found. Assuming you trust Michal Papis import the mpapis public key (downloading the signatures).

GPG signature verification failed for '/home/tamer/.rvm/archives/rvm-1.29.1.tgz' - 'https://github.com/rvm/rvm/releases/download/1.29.1/1.29.1.tar.gz.asc'! Try to install GPG v2 and then fetch the public key:

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys ****************************************

or if it fails:

command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -

the key can be compared with:

https://rvm.io/mpapis.asc
https://keybase.io/mpapis

NOTE: GPG version 2.1.17 have a bug which cause failures during fetching keys from remote server. Please downgrade or upgrade to newer version (if available) or use the second method described above.
Run Code Online (Sandbox Code Playgroud)

当我尝试任何rvm命令时,我得到'命令未找到'.

我尝试通过浏览器请求https://rvm.io/mpapis.asc.然后运行以下代码:

$ gpg --import mpapis.asc
Run Code Online (Sandbox Code Playgroud)

但我得到以下内容:

gpg: fatal: can't open `/home/tamer/.gnupg/trustdb.gpg': Permission denied
secmem usage: 1408/1408 bytes in 2/2 blocks of pool 1408/65536
Run Code Online (Sandbox Code Playgroud)

我不习惯做一些我不理解的事情,所以我停止了他们并且没有尝试sudo.

那我怎么安装Ruby呢?

更新

我也尝试使用以下方法安装gpg2:

$ sudo apt-get install gnupg2 -y
Run Code Online (Sandbox Code Playgroud)

然后我试了

$ gpg2 --keyserver hkp://keys.gnupg.net --recv-keys <key>
Run Code Online (Sandbox Code Playgroud)

并且

$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import -
Run Code Online (Sandbox Code Playgroud)

但是,当我尝试使用第一个命令安装rvm时,结果仍然相同.

我注意到我有gpg v1.4.20和gpg2 v2.1.11

小智 23

我正在为它发布一个更新解决方案,因为我在尝试获取RVM密钥时在Ubuntu 18.04中遇到了同样的问题.

RVM提供以下方法.

gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Run Code Online (Sandbox Code Playgroud)

如果它没有成功并且您尝试直接安装rvm,则该过程将失败并提供三个建议来接收密钥.其中一个步骤用gpg2接收密钥.

之前在系统中安装gpg2.

sudo apt install gnupg2
Run Code Online (Sandbox Code Playgroud)

命令是

gpg2 --recv-keys 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Run Code Online (Sandbox Code Playgroud)

但是这个命令也行不通.所以这是另一种选择.只需将旧版命令中的gpg替换为适用于我的gpg2.

gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
Run Code Online (Sandbox Code Playgroud)

  • 对于发现自己在此页面上的Mac用户,请使用"brew install gpg gpg2" (2认同)
  • 建议的密钥服务器对我而言不起作用,但是以下命令确实起作用了:`gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBDB (2认同)

Tam*_*erB 22

尝试了很多方法之后.我确实成功安装了rails如下:

$ \curl -sSL https://get.rvm.io | bash
$ source /home/<user>/.rvm/scripts/rvm
$ rvm -v
$ rvm install ruby
$ ruby -v
$ sudo apt-get install rubygems
$ gem update
$ sudo apt-get install ruby-dev zlib1g-dev liblzma-dev build-essential patch
$ rvm gemset list
$ gem install rails
$ rails -v
Run Code Online (Sandbox Code Playgroud)

"user"是我的用户名