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

RVM是Ruby版本管理器,是在单个机器上配置和安装独立Ruby环境的出色工具。您可以使用此实用程序来划分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的行为,它们以类似于命令选项的方式给出。

您可以通过键入以下内容获取可用命令的列表:

rvm help

如果你想要一个特定命令的帮助,你可以参考它“帮助”后得到更详细的指示:

rvm help command

如何启用标签页完成


我们将通过把下面一行在我们使RVM tab完成.bashrc文件中:

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

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

rvm inst

在这一点上,我们可以打TAB两次,它将完成:

rvm install

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

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

rvm use

在键入一个空格然后键入一个空格然后选择TAB两次后,您将看到一个可用的Ruby版本列表。

如何安装和卸载Rubies


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

rvm list known

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

rvm install ruby_version

如果你想卸载一个版本的Ruby,你可以简单地通过键入:

rvm uninstall ruby_version

如何切换Ruby


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

rvm list

rvm rubies

=* ruby-2.0.0-p247 [ x86_64 ]

# => - current
# =* - current && default
#  * - default

如你所见,RVM为您提供了一个方便的指南,告诉您当前和默认的Ruby版本。 在这种情况下,它们是一样的。

通过键入以切换到不同的Ruby:

rvm use ruby_version

设置默认的Ruby通过使用--default标志:

rvm --default use ruby_version

要切换到默认Ruby,请键入:

rvm default

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

rvm use system

如何使用Gemsets


在Ruby分发代码一种常见的方法是使用一个称为格式gems Gems可以安装来扩展核心Ruby发行版的功能,并且经常需要安装gem以使某些程序正常运行。

为了与RVM的提供包含Ruby环境的任务保持一致,还可以安装仅与单个Ruby安装关联的gem。 RVM调用此功能gemsets。

这意味着你可以有两个不同版本的同一个Gem,或者你可以使Gem不知道系统上的其他Gem。

要查看当前Ruby的可用gemsets,可以键入:

rvm gemset list

如果您安装了多个Ruby版本,可以通过键入以下内容查看所有gemsets:

rvm gemset list_all

默认情况下,您应该配置两个gemsets:

  • 默认值 :如果没有指定其他Gem是应用的Gem。

  • 全球 :此Gem是由用于每一个其他Gem继承。 此集通常不需要选择,因为它将被自动包括。 你应该在这里安装共享的Gem。

您可以轻松地创建另一个gemset。 我们将创建一个名为“test_project”的gemset来演示它的工作原理:

rvm gemset create test_project

如果您希望将当前gemset复制到新的gemset以运行一些测试,可以发出以下命令:

rvm gemset copy default test_project

我们可以更改我们希望使用的gemset:

rvm gemset use test_project

我们还可以一次更改Ruby版本和gemset。 这是通过提供Ruby版本,后跟“@”字符,然后指定gemset:

rvm use 2.0.0@test_project

现在,我们可以通过发出以下命令来安装Tic-Tac-ToeGem:

gem install tictactoe -v 0.0.4

我们现在可以更改为我们的默认gemset并安装相同gem的早期版本:

rvm gemset use default
gem install tictactoe -v 0.0.3

我们现在有两个独立版本的Tic-Tac-ToeGem,我们可以通过切换我们使用的gemset独立测试它们。

如果你对当前正在使用的gemset感到困惑,这个命令将打印当前活动的gemset:

rvm gemset name

当你完成使用gemset之后,也许因为你的测试已经完成,你可以通过发出以下命令来摆脱它:

rvm gemset delete test_project

如何配置默认值


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

nano ~/.rvm/config/db

你可以看到什么RVM将使用,如果你不给它具体的指示,否则。

注意:您不应编辑此文件。 当RVM升级时,它被覆盖。

如果您要覆盖这些设置,可以在单独的文件中执行以下操作:

nano ~/.rvm/user/db

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

如何自动化您的环境


您可以创建项目特定的配置,指定哪些Ruby版和Gem,以通过创建一个使用.rvmrc项目目录内的文件。

这消除了需要手动跟踪你有活动的ruby版本。

要创建一个具体项目的环境,只是创建一个.rvmrc在项目的顶级目录的文件:

nano .rvmrc

在里面,你只需要输入“rvm”,其次是Ruby版本,“@”符号,然后是gemset:

rvm ruby_version@gemset

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

确保您已创建gemset并安装了您指定的Ruby版本,否则每当切换到该目录时,系统都会提示您安装并创建必要的组件。

您还可以在此同一文件中包括任何类型的项目特定的RVM配置。

如何更新RVM


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

只需发出以下命令:

rvm get stable

RVM将获取并安装最新版本,然后重新加载环境。 这是你的配置将被消灭,如果你把他们安置在config/db ,而不是user/db

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

rvm get head

结论


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

如果你定期使用Ruby,学习如何使用RVM制作个性化的Ruby环境是非常值得的。 它可以帮助加快您的初始设置,并可以帮助您避免造成代价高昂的错误。

作者:Justin Ellingwood