如何在 Ubuntu 18.04 上使用 rbenv 安装 Rails 上的 Ruby

介绍

Ruby on Rails是寻求创建网站和Web应用程序的开发者最受欢迎的应用程序堆栈之一。

您可以使用命令行工具 rbenv轻松安装 Ruby 和 Rails。使用 rbenv 将为您提供开发 Ruby on Rails 应用程序的坚实环境,因为它可以让你轻松切换 Ruby 版本,保持整个团队在同一版本上。

rbenv 支持指定特定应用程序的 Ruby 版本,允许您更改每个用户的全球 Ruby,并允许您使用环境变量来替代 Ruby 版本。

本教程将带您通过Ruby和Rails的安装过程通过rbenv。

前提条件

要遵循这个教程,你需要:

步骤 1 – 安装 rbenv 和依赖

Ruby 依赖于几个包,您可以通过您的包管理器安装它们,一旦安装,您可以安装 rbenv 并使用它来安装 Ruby。

首先,更新您的包列表:

1sudo apt update

接下来,安装安装Ruby所需的依赖:

1sudo apt install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm5 libgdbm-dev

一旦依赖性下载,你可以安装rbenv本身。从GitHub克隆rbenv存储库到~/.rbenv目录:

1git clone https://github.com/rbenv/rbenv.git ~/.rbenv

接下来,将~/.rbenv/bin添加到您的$PATH,以便您可以使用rbenv命令行实用程序。

1echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

然后,将eval命令$(rbenv init -)添加到您的~/.bashrc文件中,以便 rbenv 自动加载:

1echo 'eval "$(rbenv init -)"' >> ~/.bashrc

接下来,将您对您的 ~/.bashrc 文件所做的更改应用到当前的壳会话中:

1source ~/.bashrc

通过使用类型命令验证 rbenv 是否正确设置,该命令会显示有关rbenv命令的更多信息:

1type rbenv

您的终端窗口将显示如下:

 1[secondary_label Output]
 2rbenv is a function
 3rbenv ()
 4{
 5    local command;
 6    command="${1:-}";
 7    if [ "$#" -gt 0 ]; then
 8        shift;
 9    fi;
10    case "$command" in
11        rehash | shell)
12            eval "$(rbenv "sh-$command" "$@")"
13        ;;
14        *)
15            command rbenv "$command" "$@"
16        ;;
17    esac
18}

接下来,安装 [ruby-build] (https://github.com/rbenv/ruby-build),插件. 此插件添加了rbenv install 命令,这简化了新版本的 Ruby 的安装过程:

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

此时,您既安装了 rbenv 又安装了 ruby-build。

步骤 2 – 使用 Ruby-build 安装 Ruby

有了现在安装的ruby-build插件,您可以通过一个简单的命令安装 Ruby 版本,您可能需要。

1rbenv install -l

该命令的输出应该是您可以选择安装的版本的长列表。

让我们来安装 Ruby 2.5.1:

1rbenv install 2.5.1

安装 Ruby 可能是一个漫长的过程,所以要准备好安装需要一段时间才能完成。

一旦安装完成,请将其设置为我们的默认版本的Ruby与全球子命令:

1rbenv global 2.5.1

通过检查其版本号来验证 Ruby 是否正确安装:

1ruby -v

如果您安装了 Ruby 2.5.1 版本,则您对上述命令的输出应该是这样的:

1[secondary_label Output]
2ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-linux]

要安装和使用不同的版本的 Ruby,请运行rbenv命令以不同的版本号,如rbenv install 2.3.0rbenv global 2.3.0

您现在已经安装了至少一个版本的 Ruby,并已设置了默认的 Ruby 版本,接下来,我们将设置宝石和铁路。

步骤3 – 与宝石合作

宝石是 Ruby 库的分布方式,您使用宝石命令来管理这些宝石,我们将使用此命令来安装 Rails。

当您安装宝石时,安装过程会生成本地文档,这可以为每个宝石的安装过程添加大量时间,因此通过创建一个名为 `~/.gemrc 的文件来关闭本地文档生成,该文件包含一个配置设置来关闭此功能:

1echo "gem: --no-document" > ~/.gemrc

Bundler是一个工具,用于管理项目的宝石依赖性。

1gem install bundler

你会看到这样的输出:

1[secondary_label Output]
2Fetching: bundler-1.16.2.gem (100%)
3Successfully installed bundler-1.16.2
41 gem installed

您可以使用gem env命令(子命令env环境的缩写)来了解更多关于宝石的环境和配置的信息。

1gem env home

你会看到类似于此的输出:

1/home/sammy/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0

一旦您已经设置了宝石,您可以安装 Rails。

步骤4:安装铁路

要安装 Rails,请使用 gem install命令以及-v标志来指定版本。

1gem install rails -v 5.2.0

gem命令会安装你指定的宝石,以及每个依赖性。Rails是一个复杂的Web开发框架,并且有许多依赖性,所以这个过程需要一段时间才能完成。

1[secondary_label Output]
2...
3Successfully installed rails-5.2.0
438 gems installed

<$>[注] :如果您想安装不同的 Rails 版本,您可以通过进行搜索列出 Rails 的有效版本,这将产生可能的版本的长列表。

1gem search '^rails$' --all
2gem install rails -v 4.2.7

如果您想安裝最新版本的 Rails,請執行命令而未指定版本:

1gem install rails

美元

rbenv 通过创建一个 shims 目录,指向当前启用的 Ruby 版本所使用的文件。通过rehash子命令,rbenv 在该目录中保持 shims,以匹配每个 Ruby 命令在您的服务器上安装的每个 Ruby 版本。

1rbenv rehash

通过打印其版本来验证 Rails 是否已正确安装,使用此命令:

1rails -v

如果安装正确,您将看到已安装的 Rails 版本:

1[secondary_label Output]
2Rails 5.2.0

此时,您可以开始测试 Ruby on Rails 安装,并开始开发 Web 应用程序。

步骤 5 – 更新 rbenv

由于您使用 Git 手动安装了 rbenv,您可以随时通过在 ~/.rbenv 目录中的 git pull` 命令升级到最新版本:

1cd ~/.rbenv
2git pull

这将确保我们使用最新的版本的rbenv可用。

步骤 6 – 卸载 Ruby 版本

當您下載 Ruby 的其他版本時,您可能會在您的 ~/.rbenv/versions 目錄中積累更多的版本,使用 ruby-buildplugin's' uninstall 子命令來移除這些以前的版本。

例如,输入此文将删除 Ruby 版本 2.1.3:

1rbenv uninstall 2.1.3

使用rbenv uninstall命令,您可以清理 Ruby 的旧版本,以便您没有比当前使用的安装更多。

步骤 7 – 卸载 rbenv

如果您已经决定不再使用 rbenv,您可以从系统中删除它。

要做到这一点,先在编辑器中打开你的 ~/.bashrc 文件:

1nano ~/.bashrc

查找并从文件中删除以下两行:

1[label ~/.bashrc]
2...
3export PATH="$HOME/.rbenv/bin:$PATH"
4eval "$(rbenv init -)"

保存文件并离开编辑器。

然后使用此命令删除 rbenv 和所有安装的 Ruby 版本:

1rm -rf `rbenv root`

登录并重新登录以将更改应用到您的壳中。

结论

在本教程中,您安装了rbenv和Ruby on Rails. 从这里,您可以了解更多有关使这些环境更坚固的信息。

探索如何使用 Ruby on Rails 使用 PostgreSQLMySQL而不是其默认的 sqlite3 数据库,这些数据库为您的应用程序提供了更多的可扩展性、集中性和稳定性。

Published At
Categories with 技术
comments powered by Disqus