在 Ubuntu 22.04 上使用 rbenv 安装 Ruby on Rails
Ruby on Rails是最受希望创建网站和 Web 应用程序的开发人员欢迎的应用程序堆栈之一。Ruby 编程语言与 Rails 开发框架相结合,使您能够快速构建和部署可扩展的应用程序。
您可以使用命令行工具rbenv安装 Ruby 和 Rails 。使用 rbenv 为您提供了一个可靠的环境来开发您的 Ruby on Rails 应用程序,并允许您在 Ruby 版本之间切换,让您的整个团队使用同一版本。rbenv 还支持指定特定应用程序的 Ruby 版本,允许您为每个用户更改全局 Ruby,以及使用环境变量覆盖 Ruby 版本的选项。
rbenv在本教程中,您将使用和遵循 Ruby 和 Rails 安装过程gem。首先,您将安装适当的包以安装 rbenv,然后安装 Ruby。之后,您将安装该ruby-build插件,以便您可以安装 Ruby 的可用版本。最后,您将使用它gem来安装 Rails,然后可以使用 Ruby on Rails 开始您的 Web 开发。您还将学习如何检查您的 rbenv 版本是否是最新的,以及如何卸载 Ruby 版本和 rbenv。
第 1 步 – 安装 rbenv 和依赖项
Ruby 依赖于几个可以通过包管理器安装的包。安装完这些之后,您可以安装 rbenv 并使用它来安装 Ruby。
首先,更新您的包裹清单:
sudo apt update
接下来,安装安装 Ruby 所需的依赖项:
sudo apt install git curl libssl-dev libreadline-dev zlib1g-dev autoconf bison build-essential libyaml-dev libreadline-dev libncurses5-dev libffi-dev libgdbm-dev
安装依赖项后,您可以安装 rbenv 本身。用于curl从 Github 获取安装脚本并将其直接通过管道传输到bash以运行安装程序:
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/HEAD/bin/rbenv-installer | bash
接下来,添加~/.rbenv/bin到您的$PATH,以便您可以使用rbenv命令行实用程序。通过更改您的文件来执行此操作~/.bashrc,以便它影响未来的登录会话:
echo ‘export PATH=“$HOME/.rbenv/bin:$PATH”’ >> ~/.bashrc
然后,将命令添加eval "$(rbenv init -)"到您的~/.bashrc文件中,以便 rbenv 自动加载:
echo ‘eval “$(rbenv init -)”’ >> ~/.bashrc
接下来,将您对文件所做的更改应用于~/.bashrc当前的 shell 会话:
source ~/.bashrc
通过运行以下命令验证 rbenv 是否已正确设置type,这将显示有关该rbenv命令的更多信息:
type rbenv
您的终端窗口将显示以下内容:
Output
rbenv is a function
rbenv ()
{
local command;
command=“${1:-}”;
if [ “$#” -gt 0 ]; then
shift;
fi;
case “$command” in
rehash | shell)
eval “$(rbenv “sh-$command” “$@”)”
;;
*)
command rbenv “$command” “$@”
;;
esac
}
此时,您已经安装了 rbenv 和 ruby-build。接下来,您将安装 Ruby。
第 2 步 – 使用 ruby-build 安装 Ruby
现在安装插件后ruby-build,您可以使用单个命令安装您可能需要的任何版本的 Ruby。
首先,列出所有可用的 Ruby 版本:
rbenv install -l
该命令的输出列出了您可以选择安装的所有版本:
Output
2.7.7
3.0.5
3.1.3
3.2.1
jruby-9.4.0.0
mruby-3.1.0
picoruby-3.0.0
truffleruby-22.3.1
truffleruby+graalvm-22.3.1
Only latest stable releases for each Ruby implementation are shown.
Use ‘rbenv install --list-all / -L’ to show all local versions.
现在,安装 Ruby3.2.1:
rbenv install 3.2.1
安装 Ruby 可能是一个漫长的过程,因此请做好安装需要一些时间才能完成的准备。
安装完成后,使用global子命令将其设置为默认的 Ruby 版本:
rbenv global 3.2.1
通过检查其版本号来验证 Ruby 是否已正确安装:
ruby -v
如果您安装了 3.2.1 版的 Ruby,此命令将返回如下输出:
ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-linux]
您现在至少安装了一个版本的 Ruby 并设置了默认的 Ruby 版本。接下来,您将设置 gems 和 Rails。
第 3 步 – 使用 Gems
Gem 是 Ruby 库的分布方式。您使用该gem命令来管理这些 gem,并使用该命令来安装 Rails。
安装 gem 时,安装过程会生成本地文档。这会为每个 gem 的安装过程增加大量时间,我们通过以下配置来关闭此功能:
echo “gem: --no-document” > ~/.gemrc
Bundler是一个管理项目的 gem 依赖项的工具。接下来安装 Bundler gem,因为 Rails 依赖于它:
gem install bundler
您将收到以下输出:
Fetching bundler-2.4.9.gem
Successfully installed bundler-2.4.9
1 gem installed
您可以使用gem env命令(子命令env的缩写environment)来了解更多关于gems的环境和配置。您可以使用home参数确认 gems 的安装位置,如下所示:
gem env home
您将收到与此类似的输出:
/root/.rbenv/versions/3.2.1/lib/ruby/gems/3.2.0
一旦设置好gems,就可以安装Rails。
第 4 步 – 安装Rails
要安装 Rails,请使用gem install命令和-v标志来指定版本。对于本教程,您将使用版本7.0.4:
gem install rails -v 7.0.4
该gem命令会安装您指定的 gem 及其任何依赖项。Rails 是一个复杂的 Web 开发框架,并且有很多依赖项,因此该过程需要一些时间才能完成。最终,您会收到一条消息,说明 Rails 及其依赖项已安装:
Output
…
Successfully installed rails-7.0.4
35 gems installed
注意:如果您想安装不同版本的 Rails,您可以通过搜索列出有效的 Rails 版本,这将输出可能版本的列表。然后您可以安装特定版本,例如4.2.7:
gem search ‘^rails$’ --all
gem install rails -v 4.2.7
如果您想安装最新版本的 Rails,请运行不指定版本的命令:
gem install rails
rbenv 通过创建一个目录shims来工作,该目录指向当前启用的 Ruby 版本使用的文件。通过rehash子命令,rbenv 在该目录中维护垫片,以匹配服务器上安装的每个 Ruby 版本的每个 Ruby 命令。每当您安装新版本的 Ruby 或像 Rails 一样提供命令的 gem 时,您应该运行以下命令:
rbenv rehash
通过使用以下命令打印 Rails 的版本来验证 Rails 是否已正确安装:
rails -v
如果安装正确,以下命令将返回已安装的 Rails 版本:
Output
Rails 7.0.4
此时,您可以开始测试 Ruby on Rails 安装并开始开发 Web 应用程序。现在让我们回顾一下如何使 rbenv 保持最新。
第 5 步 – 更新 rbenv
git pull由于您使用 Git 手动安装了 rbenv,因此您可以随时使用目录中的命令将安装升级到最新版本~/.rbenv:
cd ~/.rbenv
git pull
这确保您使用的是可用的最新版本的 rbenv。
第 6 步 – 卸载 Ruby 版本
当您下载其他版本的 Ruby 时,您可能会在您的目录中积累比您想要的更多的版本~/.rbenv/versions。使用ruby-build插件的uninstall子命令删除这些以前的版本。
以下命令将卸载 Ruby 版本3.2.0:
rbenv uninstall 3.2.0
使用该rbenv uninstall命令,您可以清理旧版本的 Ruby,这样您就不会安装比当前使用的更多的 Ruby。
第 7 步 – 卸载 rbenv
如果您决定不再使用 rbenv,您可以将它从您的系统中删除。
为此,请~/.bashrc在您喜欢的文本编辑器中打开您的文件。在这个例子中,我们将使用nano:
nano ~/.bashrc
从文件中查找并删除以下两行:
~/.bashrc
…
export PATH=“$HOME/.rbenv/bin:$PATH”
eval “$(rbenv init -)”
删除这些行后,保存文件并退出编辑器。如果您使用过nano,您可以按CTRL + X然后Y和退出ENTER。
然后使用以下命令删除 rbenv 和所有已安装的 Ruby 版本:
rm -rf rbenv root
注销并重新登录以将更改应用到您的 shell。
结论
到这里,您安装了整个Ruby on Rails 框架。