介绍
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环境是非常值得的。 它可以帮助加快您的初始设置,并可以帮助您避免造成代价高昂的错误。