最近开始学习ruby,ruby基础在此之前已经学习的差不多了,不过都是在windows上操作,但经过来人告诉我,建议我在linux上学习ruby,因为windows上对ruby的依赖很混乱。我选择ubuntu-20.04.3来进行学习。
从 Ubuntu 源仓库安装 Ruby
这个方式相比之下是比较简单的。以 root 或者其他有 sudo 权限的用户身份来运行下面的命令,来升级软件包索引,并且安装 Ruby:
sudo apt update sudo apt install ruby-full
命令输出如下:
niufei@niufei-Virtual-Machine:~/Desktop$ sudo apt update [sudo] password for niufei: Get:1 http://security.ubuntu.com/ubuntu focal-security InRelease [114 kB] Hit:2 http://cn.archive.ubuntu.com/ubuntu focal InRelease Get:3 http://cn.archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB] Get:4 http://cn.archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB] Fetched 336 kB in 3s (110 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done 171 packages can be upgraded. Run 'apt list --upgradable' to see them. niufei@niufei-Virtual-Machine:~/Desktop$ sudo apt install ruby-full Reading package lists... Done Building dependency tree Reading state information... Done The following additional packages will be installed: fonts-lato javascript-common libgmp-dev libgmpxx4ldbl libjs-jquery libruby2.7 rake ri ruby ruby-dev ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby-xmlrpc ruby2.7 ruby2.7-dev ruby2.7-doc rubygems-integration Suggested packages: apache2 | lighttpd | httpd gmp-doc libgmp10-doc libmpfr-dev bundler The following NEW packages will be installed: fonts-lato javascript-common libgmp-dev libgmpxx4ldbl libjs-jquery libruby2.7 rake ri ruby ruby-dev ruby-full ruby-minitest ruby-net-telnet ruby-power-assert ruby-test-unit ruby-xmlrpc ruby2.7 ruby2.7-dev ruby2.7-doc rubygems-integration 0 upgraded, 20 newly installed, 0 to remove and 171 not upgraded. Need to get 9,572 kB of archives. After this operation, 57.6 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 fonts-lato all 2.0-2 [2,698 kB] Get:2 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 javascript-common all 11 [6,066 B] Get:3 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libgmpxx4ldbl amd64 2:6.2.0+dfsg-4 [9,128 B] Get:4 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libgmp-dev amd64 2:6.2.0+dfsg-4 [320 kB] Get:5 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 libjs-jquery all 3.3.1~dfsg-3 [329 kB] Get:6 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 rubygems-integration all 1.16 [5,092 B] Get:7 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 ruby2.7 amd64 2.7.0-5ubuntu1.5 [95.6 kB] Get:8 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby amd64 1:2.7+1 [5,412 B] Get:9 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 rake all 13.0.1-4 [61.6 kB] Get:10 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby-minitest all 5.13.0-1 [40.9 kB] Get:11 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby-net-telnet all 0.1.1-2 [12.6 kB] Get:12 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby-power-assert all 1.1.7-1 [11.4 kB] Get:13 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby-test-unit all 3.3.5-1 [73.2 kB] Get:14 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby-xmlrpc all 0.3.0-2 [23.8 kB] Get:15 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 libruby2.7 amd64 2.7.0-5ubuntu1.5 [3,526 kB] Get:16 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 ruby2.7-doc all 2.7.0-5ubuntu1.5 [2,160 kB] Get:17 http://cn.archive.ubuntu.com/ubuntu focal/universe amd64 ri all 1:2.7+1 [4,520 B] Get:18 http://cn.archive.ubuntu.com/ubuntu focal-updates/main amd64 ruby2.7-dev amd64 2.7.0-5ubuntu1.5 [182 kB] Get:19 http://cn.archive.ubuntu.com/ubuntu focal/main amd64 ruby-dev amd64 1:2.7+1 [4,632 B] Get:20 http://cn.archive.ubuntu.com/ubuntu focal/universe amd64 ruby-full all 1:2.7+1 [2,728 B] Fetched 9,572 kB in 7s (1,417 kB/s) Selecting previously unselected package fonts-lato. (Reading database ... 184826 files and directories currently installed.) Preparing to unpack .../00-fonts-lato_2.0-2_all.deb ... Unpacking fonts-lato (2.0-2) ... Selecting previously unselected package javascript-common. Preparing to unpack .../01-javascript-common_11_all.deb ... Unpacking javascript-common (11) ... Selecting previously unselected package libgmpxx4ldbl:amd64. Preparing to unpack .../02-libgmpxx4ldbl_2%3a6.2.0+dfsg-4_amd64.deb ... Unpacking libgmpxx4ldbl:amd64 (2:6.2.0+dfsg-4) ... Selecting previously unselected package libgmp-dev:amd64. Preparing to unpack .../03-libgmp-dev_2%3a6.2.0+dfsg-4_amd64.deb ... Unpacking libgmp-dev:amd64 (2:6.2.0+dfsg-4) ... Selecting previously unselected package libjs-jquery. Preparing to unpack .../04-libjs-jquery_3.3.1~dfsg-3_all.deb ... Unpacking libjs-jquery (3.3.1~dfsg-3) ... Selecting previously unselected package rubygems-integration. Preparing to unpack .../05-rubygems-integration_1.16_all.deb ... Unpacking rubygems-integration (1.16) ... Selecting previously unselected package ruby2.7. Preparing to unpack .../06-ruby2.7_2.7.0-5ubuntu1.5_amd64.deb ... Unpacking ruby2.7 (2.7.0-5ubuntu1.5) ... Selecting previously unselected package ruby. Preparing to unpack .../07-ruby_1%3a2.7+1_amd64.deb ... Unpacking ruby (1:2.7+1) ... Selecting previously unselected package rake. Preparing to unpack .../08-rake_13.0.1-4_all.deb ... Unpacking rake (13.0.1-4) ... Selecting previously unselected package ruby-minitest. Preparing to unpack .../09-ruby-minitest_5.13.0-1_all.deb ... Unpacking ruby-minitest (5.13.0-1) ... Selecting previously unselected package ruby-net-telnet. Preparing to unpack .../10-ruby-net-telnet_0.1.1-2_all.deb ... Unpacking ruby-net-telnet (0.1.1-2) ... Selecting previously unselected package ruby-power-assert. Preparing to unpack .../11-ruby-power-assert_1.1.7-1_all.deb ... Unpacking ruby-power-assert (1.1.7-1) ... Selecting previously unselected package ruby-test-unit. Preparing to unpack .../12-ruby-test-unit_3.3.5-1_all.deb ... Unpacking ruby-test-unit (3.3.5-1) ... Selecting previously unselected package ruby-xmlrpc. Preparing to unpack .../13-ruby-xmlrpc_0.3.0-2_all.deb ... Unpacking ruby-xmlrpc (0.3.0-2) ... Selecting previously unselected package libruby2.7:amd64. Preparing to unpack .../14-libruby2.7_2.7.0-5ubuntu1.5_amd64.deb ... Unpacking libruby2.7:amd64 (2.7.0-5ubuntu1.5) ... Selecting previously unselected package ruby2.7-doc. Preparing to unpack .../15-ruby2.7-doc_2.7.0-5ubuntu1.5_all.deb ... Unpacking ruby2.7-doc (2.7.0-5ubuntu1.5) ... Selecting previously unselected package ri. Preparing to unpack .../16-ri_1%3a2.7+1_all.deb ... Unpacking ri (1:2.7+1) ... Selecting previously unselected package ruby2.7-dev:amd64. Preparing to unpack .../17-ruby2.7-dev_2.7.0-5ubuntu1.5_amd64.deb ... Unpacking ruby2.7-dev:amd64 (2.7.0-5ubuntu1.5) ... Selecting previously unselected package ruby-dev:amd64. Preparing to unpack .../18-ruby-dev_1%3a2.7+1_amd64.deb ... Unpacking ruby-dev:amd64 (1:2.7+1) ... Selecting previously unselected package ruby-full. Preparing to unpack .../19-ruby-full_1%3a2.7+1_all.deb ... Unpacking ruby-full (1:2.7+1) ... Setting up javascript-common (11) ... Setting up fonts-lato (2.0-2) ... Setting up ruby-power-assert (1.1.7-1) ... Setting up rubygems-integration (1.16) ... Setting up ruby-minitest (5.13.0-1) ... Setting up libgmpxx4ldbl:amd64 (2:6.2.0+dfsg-4) ... Setting up ruby-test-unit (3.3.5-1) ... Setting up ruby-net-telnet (0.1.1-2) ... Setting up ruby2.7-doc (2.7.0-5ubuntu1.5) ... Setting up libjs-jquery (3.3.1~dfsg-3) ... Setting up ruby-xmlrpc (0.3.0-2) ... Setting up libgmp-dev:amd64 (2:6.2.0+dfsg-4) ... Setting up ruby2.7 (2.7.0-5ubuntu1.5) ... Setting up ri (1:2.7+1) ... Setting up ruby (1:2.7+1) ... Setting up rake (13.0.1-4) ... Setting up libruby2.7:amd64 (2.7.0-5ubuntu1.5) ... Setting up ruby2.7-dev:amd64 (2.7.0-5ubuntu1.5) ... Setting up ruby-dev:amd64 (1:2.7+1) ... Setting up ruby-full (1:2.7+1) ... Processing triggers for fontconfig (2.13.1-2ubuntu3) ... Processing triggers for libc-bin (2.31-0ubuntu9.2) ... Processing triggers for man-db (2.9.1-1) ...
安装完成之后,通过打印版本号来验证安装结果:
ruby --version
命令输出如下:
niufei@niufei-Virtual-Machine:~/Desktop$ ruby --version ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
如果出现版本号,说明安装成功,可以使用ruby了。安装版本有差异是正常的。



