如何使用 RVM 管理 VPS 上的 Ruby 安装和环境

介绍


Ruby on Rails,或RoR,是Ruby编程语言的一种流行的开发框架,允许您轻松地在最小困难的情况下启动和运行您的应用程序。

开发应用程序往往需要模拟不同的环境,不同的版本的Ruby可能需要不同的项目。

幸运的是,Ruby版本管理器(更广为称为RVM)允许您轻松安装多个包含的Ruby版本,并轻松切换它们之间。

在其他文章中,我们涵盖了如何在各种平台上安装RVM:

本文将假设您已经安装了 RVM. 我们将讨论该实用程序的基本用途以及如何正确管理您的 Ruby 环境。

基本语法


如果你已经安装了RVM,你应该有rvm命令可供你使用,这就是我们称之为RVM的方式。

命令的基本语法是:

rvm command_options command ruby_to_act_on

还有可以改变 RVM 行为的 RVM 旗帜,这些旗帜以类似的方式给出命令选项。

您可以通过键入获得可用的命令列表:

1rvm help

如果您想对特定命令提供帮助,您可以在帮助后引用该命令以获得更详细的指示:

rvm help command

如何启用 Tab 完成


我们将通过将下列行放入我们的 .bashrc 文件来启用 RVM 卡完成:

1[[ -r $rvm_path/scripts/completion ]] && . $rvm_path/scripts/completion

这将允许我们完成RVM命令,在输入命令的一部分后输入TAB键两次,例如,我们可以输入:

1rvm inst

在此时刻,我们可以击中TAB两次,它将完成到:

1rvm install

然后我们可以完成输入参数。

请记住,这也适用于参数. 如果您正在切换到另一个 Ruby 版本,您可以键入:

1rvm use

输入空间,然后TAB两次后,您将收到可用的Ruby版本的列表。

如何安装和卸载 Rubies


我们可以列出我们可以用这个命令安装的所有 Rubies:

1rvm list known

选择您要安装的 Ruby 后,您可以发出以下命令:

rvm install ruby_version

如果您想删除 Ruby 的版本,您可以通过键入:

rvm uninstall ruby_version

如何更换卢比


一旦安装了几个版本的Ruby,你可以用这个命令列出它们:

1rvm list

1rvm rubies
2
3=* ruby-2.0.0-p247 [ x86_64 ]
4
5# => - current
6# =* - current && default
7#  * - default

正如你所看到的,RVM为你提供了一个方便的指南,告诉你当前和默认的Ruby版本是什么。

切换到另一个 Ruby 键入:

rvm use ruby_version

设置默认 Ruby 以使用 --default 旗帜:

rvm --default use ruby_version

要切换到默认 Ruby,键入:

1rvm default

为了使用系统上安装的 Ruby 版本(而不是通过 RVM),您可以指定:

1rvm use system

如何使用Gemsets


在Ruby中分发代码的一种常见方式是使用一个名为宝石的格式,可以安装宝石来扩展核心Ruby分布的功能,并且通常需要安装宝石才能使某些程序正常工作。

符合 RVM 提供包含 Ruby 环境的使命,还可以安装仅与单个 Ruby 安装相关的宝石。

这意味着你可以有相同宝石的两个不同的版本,或者你可以让宝石不知道系统上的其他宝石。

要查看当前 Ruby 的可用宝石集,您可以键入:

1rvm gemset list

如果您安装了多个 Ruby 版本,您可以通过键入查看所有宝石集:

1rvm gemset list_all

默认情况下,您应该有两个配置的宝石集:

  • 默认:如果没有另一个珠宝集被指定,将应用的珠宝集
  • 全球性:此珠宝集由使用的每一个其他珠宝集继承。

您可以轻松创建另一个宝石集合,我们将创建一个名为test_project的宝石集合,以展示它是如何工作的:

1rvm gemset create test_project

如果您更愿意将当前的宝石集复制到新的宝石集中,以运行一些测试,则可以发出以下命令:

1rvm gemset copy default test_project

我們可以改變我們想要使用的裝置:

1rvm gemset use test_project

我们还可以同时更改 Ruby 版本和 gemset. 这可以用 Ruby 版本,然后是@字符,然后是指定 gemset:

1rvm use 2.0.0@test_project

现在,我们可以通过发出这个命令来安装一个Tic-Tac-Toe宝石:

1gem install tictactoe -v 0.0.4

我们现在可以更改我们的默认宝石设置,并安装同一宝石的早期版本:

1rvm gemset use default
2gem install tictactoe -v 0.0.3

我们现在安装了Tic-Tac-Toe宝石的两个单独版本,我们可以通过切换我们正在使用的宝石来独立测试它们。

如果您对当前正在使用的珠宝集感到困惑,此命令将打印当前活跃的珠宝集:

1rvm gemset name

当您完成使用宝石集时,也许是因为测试完成了,您可以通过发出以下命令来摆脱它:

1rvm gemset delete test_project

如何设置缺陷


RVM 可以配置在几个不同级别的默认值。RVM 将其默认值保存在一个文件中:

1nano ~/.rvm/config/db

您可以看到RVM将使用什么,如果您不给它具体的指示来做其他事情。

** 注意: 您不应该编辑此文件. 它在升级 RVM 时被重写。

如果您想取消这些设置,您可以在以下地址的单独文件中这样做:

1nano ~/.rvm/user/db

为了方便使用,您可以从config/db文件中复制参数并将其放入user/db文件中,以便轻松修改。

如何自动化您的环境


您可以创建特定项目的配置,指定使用的 Ruby 版本和 gemset,在项目目录中创建一个 .rvmrc 文件。

这消除了需要手动跟踪你活跃的 Ruby 版本的需求。

要创建一个项目特定的环境,只需在项目的顶级目录中创建一个 .rvmrc 文件:

1nano .rvmrc

在里面,你只需要输入rvm,然后是Ruby版本,@符号,然后是宝石:

rvm ruby_version@gemset

这就是你所需要的。你可能需要在第一次输入目录时接受配置。

确保您创建了代码集并安装了您所指定的 Ruby 版本,否则您将被要求在切换到该目录时安装和创建所需的组件。

您也可以在该文件中包含任何类型的项目特定的 RVM 配置。

如何更新 RVM


当 RVM 推出新版本时,您可以轻松地从实用程序中更新您的安装。

只需发出以下命令:

1rvm get stable

RVM 将接收并安装最新版本,然后重新加载环境,如果您将其放置在config/db而不是user/db,那么您的配置将被删除。

如果您想升级到最新的可用版本(不一定是稳定的),您可以键入:

1rvm get head

结论


正如您所看到的,RVM 是可用于管理项目和整个 Ruby 环境的多功能工具,您可以使用 RVM 来配置开发条件、服务器安装,甚至部署应用程序。

如果您定期使用 Ruby,学习如何使用 RVM 创建个性化 Ruby 环境是值得的,这可以帮助加速您的初始设置,并可以帮助您避免做出昂贵的错误。

By Justin Ellingwood
Published At
Categories with 技术
comments powered by Disqus