介绍
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 环境是值得的,这可以帮助加速您的初始设置,并可以帮助您避免做出昂贵的错误。