【ubuntu 18.04】安装RVM
1. 官网
# 二进制包 https://rubies.travis-ci.org/ # 官网 https://rvm.io/
2. 安装文档
https://rvm.io/rvm/install
3. 安装步骤
sudo apt install gnupg2
# 配置秘钥
gpg2 --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB curl -sSL https://get.rvm.io | bash -s stable --rails # 上面可能会报错 keyserver, 按照提示,执行如下 curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - # 重新安装
curl -sSL https://get.rvm.io | bash -s stable --rails # 生效已有窗口 source /home/master/.rvm/scripts/rvm nvm -v
4. 安装过程示例
master@master:~$ gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB gpg: keyserver receive failed: Server indicated a failure master@master:~$ curl -sSL https://get.rvm.io | bash -s stable --rails Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz curl: (56) Unexpected EOF Could not download 'https://github.com/rvm/rvm/archive/1.29.12.tar.gz'. curl returned status '56'. Downloading https://bitbucket.org/mpapis/rvm/get/1.29.12.tar.gz Downloading https://bitbucket.org/mpapis/rvm/downloads/1.29.12.tar.gz.asc gpg: Signature made 2021年01月16日 星期六 02时46分26秒 CST gpg: using RSA key 7D2BAF1CF37B13E2069D6956105BD0E739499BDB gpg: Can't check signature: No public key GPG signature verification failed for '/home/master/.rvm/archives/rvm-1.29.12.tgz' - 'https://bitbucket.org/mpapis/rvm/downloads/1.29.12.tar.gz.asc'! Try to install GPG v2 and then feh the public key: gpg2 --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB or if it fails: command curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - command curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - In case of further problems with validation please refer to https://rvm.io/rvm/security master@master:~$ curl -sSL https://rvm.io/mpapis.asc | gpg2 --import - gpg: key 3804BB82D39DC0E3: 47 signatures not checked due to missing keys gpg: /home/master/.gnupg/trustdb.gpg: trustdb created gpg: key 3804BB82D39DC0E3: public key "Michal Papis (RVM signing)" imported gpg: Total number processed: 1 gpg: imported: 1 gpg: no ultimately trusted keys found master@master:~$ curl -sSL https://rvm.io/pkuczynski.asc | gpg2 --import - gpg: key 105BD0E739499BDB: public key "Piotr Kuczynski " imported gpg: Total number processed: 1 gpg: imported: 1 master@master:~$ curl -sSL https://get.rvm.io | bash -s stable --rails Downloading https://github.com/rvm/rvm/archive/1.29.12.tar.gz Downloading https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc curl: (56) Unexpected EOF Could not download 'https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc'. curl returned status '56'. Installing RVM to /home/master/.rvm/ Adding rvm PATH line to /home/master/.profile /home/master/.mkshrc /home/master/.bashrc /home/master/.zshrc. Adding rvm loading line to /home/master/.profile /home/master/.bash_profile /home/master/.zlogin. Installation of RVM in /home/master/.rvm/ is almost complete: * To start using RVM you need to run `source /home/master/.rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows. Thanks for installing RVM ?? Please consider donating to our open collective to help us maintain RVM. ?? Donate: https://opencollective.com/rvm/donate Ruby enVironment Manager 1.29.12 (latest) (c) 2009-2020 Michal Papis, Piotr Kuczynski, Wayne E. Seguin Searching for binary rubies, this might take some time. Found remote file https://rubies.travis-ci.org/ubuntu/18.04/x86_64/ruby-3.0.0.tar.bz2 Checking requirements for ubuntu. Installing requirements for ubuntu. Updating system.... Installing required packages: gawk, autoconf, automake, bison, libffi-dev, libgdbm-dev, libncurses5-dev, libsqlite3-dev, libtool, libyaml-dev, sqlite3, libreadline-dev.............. Requirements installation successful. ruby-3.0.0 - #configure ruby-3.0.0 - #download % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- 0:00:02 --:--:-- 0 100 23.5M 100 23.5M 0 0 1752k 0 0:00:13 0:00:13 --:--:-- 1227k No checksum for downloaded archive, recording checksum in user configuration. ruby-3.0.0 - #validate archive ruby-3.0.0 - #extract ruby-3.0.0 - #validate binary ruby-3.0.0 - #setup ruby-3.0.0 - #gemset created /home/master/.rvm/gems/ruby-3.0.0@global ruby-3.0.0 - #importing gemset /home/master/.rvm/gemsets/global.gems.................................. ruby-3.0.0 - #generating global wrappers........ ruby-3.0.0 - #gemset created /home/master/.rvm/gems/ruby-3.0.0 ruby-3.0.0 - #importing gemsetfile /home/master/.rvm/gemsets/default.gems evaluated to empty gem list ruby-3.0.0 - #generating default wrappers........ Creating alias default for ruby-3.0.0.... Fetching zeitwerk-2.5.1.gem Fetching concurrent-ruby-1.1.9.gem Fetching method_source-1.0.0.gem Fetching thor-1.1.0.gem Fetching tzinfo-2.0.4.gem Fetching i18n-1.8.11.gem Fetching activesupport-7.0.0.gem Fetching nokogiri-1.12.5-x86_64-linux.gem Fetching crass-1.0.6.gem Fetching loofah-2.13.0.gem Fetching rails-html-sanitizer-1.4.2.gem Fetching rails-dom-testing-2.0.3.gem Fetching rack-2.2.3.gem Fetching rack-test-1.1.0.gem Fetching activemodel-7.0.0.gem Fetching actionview-7.0.0.gem Fetching actionpack-7.0.0.gem Fetching railties-7.0.0.gem Fetching builder-3.2.4.gem Fetching mini_mime-1.1.2.gem Fetching marcel-1.0.2.gem Fetching erubi-1.10.0.gem Fetching actiontext-7.0.0.gem Fetching globalid-1.0.0.gem Fetching activejob-7.0.0.gem Fetching activestorage-7.0.0.gem Fetching activerecord-7.0.0.gem Fetching rails-7.0.0.gem Fetching mail-2.7.1.gem Fetching actionmailbox-7.0.0.gem Fetching actionmailer-7.0.0.gem Fetching nio4r-2.5.8.gem Fetching actioncable-7.0.0.gem Fetching websocket-extensions-0.1.5.gem Fetching websocket-driver-0.7.5.gem Successfully installed zeitwerk-2.5.1 Successfully installed thor-1.1.0 Successfully installed method_source-1.0.0 Successfully installed concurrent-ruby-1.1.9 Successfully installed tzinfo-2.0.4 Successfully installed i18n-1.8.11 Successfully installed activesupport-7.0.0 Successfully installed nokogiri-1.12.5-x86_64-linux Successfully installed crass-1.0.6 Successfully installed loofah-2.13.0 Successfully installed rails-html-sanitizer-1.4.2 Successfully installed rails-dom-testing-2.0.3 Successfully installed rack-2.2.3 Successfully installed rack-test-1.1.0 Successfully installed erubi-1.10.0 Successfully installed builder-3.2.4 Successfully installed actionview-7.0.0 Successfully installed actionpack-7.0.0 Successfully installed railties-7.0.0 Successfully installed mini_mime-1.1.2 Successfully installed marcel-1.0.2 Successfully installed activemodel-7.0.0 Successfully installed activerecord-7.0.0 Successfully installed globalid-1.0.0 Successfully installed activejob-7.0.0 Successfully installed activestorage-7.0.0 Successfully installed actiontext-7.0.0 Successfully installed mail-2.7.1 Successfully installed actionmailer-7.0.0 Successfully installed actionmailbox-7.0.0 Successfully installed websocket-extensions-0.1.5 Building native extensions. This could take a while... Successfully installed websocket-driver-0.7.5 Building native extensions. This could take a while... Successfully installed nio4r-2.5.8 Successfully installed actioncable-7.0.0 Successfully installed rails-7.0.0 Parsing documentation for zeitwerk-2.5.1 Installing ri documentation for zeitwerk-2.5.1 Parsing documentation for thor-1.1.0 Installing ri documentation for thor-1.1.0 Parsing documentation for method_source-1.0.0 Installing ri documentation for method_source-1.0.0 Parsing documentation for concurrent-ruby-1.1.9 Installing ri documentation for concurrent-ruby-1.1.9 Parsing documentation for tzinfo-2.0.4 Installing ri documentation for tzinfo-2.0.4 Parsing documentation for i18n-1.8.11 Installing ri documentation for i18n-1.8.11 Parsing documentation for activesupport-7.0.0 Installing ri documentation for activesupport-7.0.0 Parsing documentation for nokogiri-1.12.5-x86_64-linux Installing ri documentation for nokogiri-1.12.5-x86_64-linux Parsing documentation for crass-1.0.6 Installing ri documentation for crass-1.0.6 Parsing documentation for loofah-2.13.0 Installing ri documentation for loofah-2.13.0 Parsing documentation for rails-html-sanitizer-1.4.2 Installing ri documentation for rails-html-sanitizer-1.4.2 Parsing documentation for rails-dom-testing-2.0.3 Installing ri documentation for rails-dom-testing-2.0.3 Parsing documentation for rack-2.2.3 Installing ri documentation for rack-2.2.3 Parsing documentation for rack-test-1.1.0 Installing ri documentation for rack-test-1.1.0 Parsing documentation for erubi-1.10.0 Installing ri documentation for erubi-1.10.0 Parsing documentation for builder-3.2.4 Installing ri documentation for builder-3.2.4 Parsing documentation for actionview-7.0.0 Installing ri documentation for actionview-7.0.0 Parsing documentation for actionpack-7.0.0 Installing ri documentation for actionpack-7.0.0 Parsing documentation for railties-7.0.0 Installing ri documentation for railties-7.0.0 Parsing documentation for mini_mime-1.1.2 Installing ri documentation for mini_mime-1.1.2 Parsing documentation for marcel-1.0.2 Installing ri documentation for marcel-1.0.2 Parsing documentation for activemodel-7.0.0 Installing ri documentation for activemodel-7.0.0 Parsing documentation for activerecord-7.0.0 Installing ri documentation for activerecord-7.0.0 Parsing documentation for globalid-1.0.0 Installing ri documentation for globalid-1.0.0 Parsing documentation for activejob-7.0.0 Installing ri documentation for activejob-7.0.0 Parsing documentation for activestorage-7.0.0 Installing ri documentation for activestorage-7.0.0 Parsing documentation for actiontext-7.0.0 Installing ri documentation for actiontext-7.0.0 Parsing documentation for mail-2.7.1 Installing ri documentation for mail-2.7.1 Parsing documentation for actionmailer-7.0.0 Installing ri documentation for actionmailer-7.0.0 Parsing documentation for actionmailbox-7.0.0 Installing ri documentation for actionmailbox-7.0.0 Parsing documentation for websocket-extensions-0.1.5 Installing ri documentation for websocket-extensions-0.1.5 Parsing documentation for websocket-driver-0.7.5 Installing ri documentation for websocket-driver-0.7.5 Parsing documentation for nio4r-2.5.8 Installing ri documentation for nio4r-2.5.8 Parsing documentation for actioncable-7.0.0 Installing ri documentation for actioncable-7.0.0 Parsing documentation for rails-7.0.0 Installing ri documentation for rails-7.0.0 Done installing documentation for zeitwerk, thor, method_source, concurrent-ruby, tzinfo, i18n, activesupport, nokogiri, crass, loofah, rails-html-sanitizer, rails-dom-testing, rack, ck-test, erubi, builder, actionview, actionpack, railties, mini_mime, marcel, activemodel, activerecord, globalid, activejob, activestorage, actiontext, mail, actionmailer, actionmailx, websocket-extensions, websocket-driver, nio4r, actioncable, rails after 30 seconds 35 gems installed * To start using RVM you need to run `source /home/master/.rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows. * To start using rails you need to run `rails new `. master@master:~$ source /home/master/.rvm/scripts/rvm master@master:~$ nvm -v 0.39.0
5. 问题1: curl: (6) Could not resolve host: raw.githubusercontent.com
加入如下配置,(前提ping的通):
sudo vim /etc/hosts
# 写入如下配置
199.232.68.133 raw.githubusercontent.com
6. 卸载RVM
master@master:~$ rvm implode Are you SURE you wish for rvm to implode? This will recursively remove /home/master/.rvm and other rvm traces? (anything other than 'yes' will cancel) > yes Removing rvm-shipped binaries (rvm-prompt, rvm, rvm-sudo rvm-shell and rvm-auto-ruby) Removing rvm wrappers in /home/master/.rvm/bin Hai! Removing /home/master/.rvm /home/master/.rvm has been removed. Note you may need to manually remove /etc/rvmrc and ~/.rvmrc if they exist still. Please check all .bashrc .bash_profile .profile and .zshrc for RVM source lines and delete or comment out if this was a Per-User installation. Also make sure to remove `rvm` group if this was a system installation. Finally it might help to relogin / restart if you want to have fresh environment (like for installing RVM again).
master@master:~$ rm /etc/rvmrc ~/.rvmrc rm: cannot remove '/etc/rvmrc': No such file or directory rm: cannot remove '/home/master/.rvmrc': No such file or directory
删除环境变量
.zlogin
# [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
.profile
# ~/.profile: executed by the command interpreter for login shells. ...... # Add RVM to PATH for scripting. Make sure this is the last PATH variable change. #export PATH="$PATH:$HOME/.rvm/bin" #[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
.mkshrc
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. # export PATH="$PATH:$HOME/.rvm/bin"
.bashrc
# ~/.bashrc: executed by bash(1) for non-login shells. ...... # Add RVM to PATH for scripting. Make sure this is the last PATH variable change. # export PATH="$PATH:$HOME/.rvm/bin"
.bash_profile
#[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile #[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*
.zshrc
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change. # export PATH="$PATH:$HOME/.rvm/bin"
source 对应文件生效