Ruby是当今最受欢迎的编程语言之一。 它具有优雅的语法,并着重于简单性和生产率。 Ruby语言强大的框架是Ruby on Rails。
在本教程中,我们将向您展示三种在Ubuntu 20.04上安装Ruby的方法:
- 来自标准Ubuntu存储库。 这是在Ubuntu上安装Ruby的最简单方法,对于大多数用例来说已经足够了。 Ubuntu存储库中包含的版本为
2.7.0
。 - 使用Rbenv。 一个允许您在同一台计算机上安装多个Ruby版本的脚本。
- 使用RVM(Ruby环境管理器)。 一个更重且功能更丰富的脚本,可让您安装,管理和使用多个ruby版本。
选择适合您的环境的安装方法。 如果您正在开发Ruby应用程序并在多个Ruby环境中工作,则首选方法是使用Rbenv或RVM安装Ruby。
如果不确定要安装哪个Ruby版本,请参阅要部署的应用程序的文档。
从Ubuntu存储库安装Ruby
在Ubuntu上安装Ruby的最简单方法是使用 apt
软件包管理器。 在撰写本文时,Ubuntu存储库中的版本为2.7.0
,可能并不总是最新的稳定版本。
安装非常简单。 以超级用户或具有sudo特权的用户身份运行以下命令,以更新软件包索引并安装Ruby:
sudo apt update
sudo apt install ruby-full
完成后,通过打印Ruby版本来验证安装:
ruby --version
输出将如下所示:
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux-gnu]
您的Ruby版本可能与上面显示的版本不同。
您已经在Ubuntu计算机上成功安装了Ruby,就可以开始使用它了。
使用Rbenv安装Ruby
Rbenv是一款轻巧的命令行工具,可让您轻松切换Ruby版本。
默认情况下,rbenv不处理Ruby的安装。 我们将使用ruby-build
安装Ruby。 它可以作为独立程序使用,也可以作为rbenv的插件使用。
ruby-build
脚本从源代码安装Ruby。 为了能够构建Ruby,请安装所需的库和编译器:
sudo apt update
sudo apt install git curl autoconf bison build-essential \
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
安装rbenv工具的最简单方法是使用安装Shell脚本。 运行以下 curl
或下载并执行脚本:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-installer | bash
该脚本将 rbenv 和 ruby-build 信息库从GitHub克隆到~/.rbenv
目录。
安装程序脚本还调用另一个验证安装的脚本。 脚本的输出如下所示:
Running doctor script to verify installation...
Checking for `rbenv' in PATH: not found
You seem to have rbenv installed in `/home/vagrant/.rbenv/bin', but that
directory is not present in PATH. Please add it to PATH by configuring
your `~/.bashrc', `~/.zshrc', or `~/.config/fish/config.fish'.
要开始使用rbenv,您需要在 PATH
中添加$HOME/.rbenv/bin
。
如果使用Bash:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
如果使用Zsh:
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
运行rbenv -v
命令以确保安装成功:
rbenv -v
rbenv 1.1.2-30-gc879cb0
要获取可以用rbenv
安装的所有Ruby版本的列表,请输入:
rbenv install -l
例如,要安装Ruby版本2.7.1并将其设置为全局版本,您可以输入:
rbenv install 2.7.1
Rbenv的工作原理是在PATH
的前面插入一个名为shims的目录。 此目录包含脚本(填充程序),其作用是拦截Ruby命令并执行相应的二进制文件。
Rbenv允许您设置shell,本地和全局Ruby版本:
- shell版本在当前shell中使用,并且具有最高优先级。 可以通过使用
rbenv shell <ruby-version>
命令设置RBENV_VERSION
环境变量来定义。 - 本地版本是按目录设置的。 此版本写在
.ruby-version
文件中。 运行Ruby脚本时,rbenv在当前目录和所有父目录中搜索文件。 它使用存储在第一个找到的文件中的Ruby版本。 要设置本地版本,请导航至目录并运行rbenv local <ruby-version>
命令。 - 如果未设置外壳程序或本地版本,则所有外壳程序都使用全局版本。 使用
rbenv global <ruby-version>
设置全局版本。
当使用rbenv管理Ruby时,请勿使用sudo安装gem。 每个Ruby版本都安装在~/.rbenv/versions
目录中,并且可由用户编写。
使用RVM安装Ruby
RVM是一个命令行工具,可用于安装,管理和使用多个Ruby环境。
安装从源代码构建Ruby所需的依赖项:
sudo apt update
sudo apt install git curl autoconf bison build-essential \
libssl-dev libyaml-dev libreadline6-dev zlib1g-dev \
libncurses5-dev libffi-dev libgdbm6 libgdbm-dev libdb-dev
运行以下命令以添加GPG密钥并安装RVM:
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
要开始使用RVM,请使用 source
命令加载脚本环境变量:
source ~/.rvm/scripts/rvm
要获取可以使用此工具安装的所有Ruby版本的列表,请输入:
rvm list known
使用RVM安装Ruby的最新稳定版本并将其设置为默认版本:
rvm install ruby
通过打印版本号来验证Ruby是否已正确安装:
ruby -v
ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-linux]
如果要安装特定版本的Ruby,请输入以下命令。 将x.x.x
替换为您要安装的Ruby版本:
rvm install ruby-x.x.x
要切换到另一个版本而不将其设置为默认Ruby,请输入:
rvm use ruby-x.x.x
有关如何使用RVM管理Ruby安装的更多信息,请查看其文档页面。
结论
我们向您展示了在Ubuntu 20.04上安装Ruby的三种不同方式。 您选择的方法取决于您的要求和偏好。 尽管从Ubuntu存储库安装打包版本更容易,但Rbenv和RVM脚本为您提供了更大的灵活性,使每个用户可以使用不同的Ruby版本。
如果您有任何问题或反馈,请在下面发表评论。