我在Ubuntu系统上安装了Ruby:备忘录

你好。我是一个正在学习Ruby编程的初学者。
我以前一直使用Windows操作系统,但是在网上搜索后发现,Windows似乎并不是一个被推荐用于编程的操作系统。
我一直对Linux很感兴趣,所以我决定尝试安装Ubuntu。
以下是我的备忘录。

由於操作系统是Windows 10,所以我可以使用WSL轻松安装Ubuntu。只需要搜索一下,就会出现很多友好的文章来说明安装方法。非常感谢。

将Ubuntu终端的字体设为Cica(最强大且我最喜欢的字体),背景为深蓝色,文字颜色为类似奶油色的感觉,使其易于阅读、对眼睛友好,简直是最好的选择。

首先,为了安装Ruby,您需要先安装git和rbenv(名字记起来有些困难),还有ruby-build。
众所周知,git是个厉害的家伙。
如果能熟练使用它,就很酷。可以克隆和提交。真厉害。
rbenv是个很酷的家伙,可以管理Ruby的版本,您可以安装任意版本的Ruby,也可以为每个项目更改Ruby的版本。
ruby-build是rbenv的插件,借助它的帮助,您可以轻松安装Ruby。

首先安装git
在Ubuntu终端中输入

$ sudo apt install git

输入”回车”键后,会要求您输入在Ubuntu设置时设置的密码。顺便说一下,sudo似乎表示”以其他用户权限执行”。它是用于什么目的,还是个谜。apt是用于软件包管理的命令,类似于CentOS中的yum。它的用途是什么,还是个谜。

如果安装了git,则安装rbenv。

$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv

在这里我们谈到Git。与其说安装,不如说是从远程仓库克隆到本地。虽然机制不太清楚,但很有趣。

$ rbenv --version

只要安全地敲打,版本就能成功地推出来就好。在我的环境中显示的是 rbenv 1.1.1-39-g59785f6。

安装ruby-build

$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build

然后我们使用rbenv来安装Ruby。

$ rbenv install --list

在命令行中使用”install –list”命令,你可以看到可安装的许多Ruby版本。选择一个你喜欢的版本进行安装吧。
在著名的Ruby入门书籍《为成为专业人士而学习Ruby》(俗称樱桃书)中,使用的是2.4.1版本。
我之前一直在使用2.4.1版本,但这次我尝试安装了2.5.3版本。

到目前为止很容易。从这里开始非常困难。
为了安装Ruby,要敲击命令。

$ rbenv install 2.5.3

随着不稳定的气氛,文字流过并出现了5个错误的字。

Last 10 log lines:
checking for ruby... false
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/ruby-build.20190113131329.644/ruby-2.5.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details

虽然遇到错误很让人难受,但我们要耐心看清楚错误信息,弄清楚哪里出了问题。
像我这样看大量英文会起荨麻疹的人,可以直接将错误信息当作查询内容输入给谷歌搜索引擎。
针对上述错误信息中的”no acceptable C compiler”,我注意到需要一个C编译器,虽然不太懂但我安装了一个叫作gcc的软件。

$ sudo apt install gcc

据说有时候需要一个名为openssl的东西,但由于我已经是最新版本,所以我无视了它。
“需要C编译器?我已经安装了,应该没问题!”然后我自信满满地再次执行$ rbenv install 2.5.3。结果又出现了错误,让我感到沮丧。

checking if make is GNU make... ./configure: line 27342: make: command not found
no
checking for safe null command for make

似乎需要放入一个make的东西。虽然不知道要用来做什么,但既然错误消息这么说了,就让我们相信错误消息吧。真的很重要要认真阅读错误消息。

$ sudo apt install make

正如谚语所说,第三次也要发誓坚决安装Ruby,我再次输入了安装命令,但是又遇到了错误。不过这一次,情况似乎有所不同。

Try running `apt-get install -y libssl-dev libreadline-dev zlib1g-dev` to fetch missing dependencies.

错误消息说:“你应该安装这个,不是吗?”非常感谢…!!无比感激…!!!

$ sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev

让我们再次输入已经无数次输入过但已经记不清有多少次的安装命令吧。

Installed ruby-2.5.3

你可以检查一下版本并确保它已经安装了

$ rbenv versions
  2.5.3

花京院!伊基!阿布杜尔!结束了……

然而战斗尚未结束。

g e m 不 可 用

$ gem install bundler
rbenv: ruby: command not found

The `ruby' command exists in these Ruby versions:
  2.5.3

我知道你在说什么,但我自己也不知道发生了什么事情,经过各种尝试得出的结论。

$ rbenv global 2.5.3

通过使用rbenv global命令来固定要使用的Ruby版本,通过这个步骤后,gem命令能够正常运行。

$ gem install bundler
(中略)
Successfully installed bundler-2.0.1

顺利地安装了Rails,现在似乎可以稍微应付一下了。以上都是一些似乎让人头疼的内容,但这只是备忘录而已。

01/27 追記
当我尝试使用 rbenv 安装其他版本的 Ruby 时,可能会出现 BUILD FAILED 等错误。看起来可能是由于我尝试安装的 Ruby 版本过旧导致的。这个问题困扰了我一段时间。