如果您能提供帮助或希望成为维护者之一,请开始提供帮助。 您可以在 RVM Github 组织 中找到更多与 RVM 相关的项目。
∞用法
∴ rvm [all|all-gemsets|<ruby>,...|<path>] [--verbose|--summary|--yaml|--json] do <command> ... ∴ rvm in <path> do <some-command> ... ∴ rvm-exec [all|all-gemsets|<ruby>,...|<path>] [--verbose|--summary|--yaml|--json] <command> ...
对给定的一组 RVM 环境执行任意命令。 在没有其他标志的情况下,它将直接执行命令,而不会打印出额外的 RVM 信息。
∞选择器
all
- 在所有 Ruby 的默认 gemset 中执行命令all-gemsets
- 在所有 Ruby 的所有 gemset 中执行命令<ruby>,...
- 要使用的 Ruby 列表,允许使用短版本或 gemset<path>
- 使用给定路径/项目的 Ruby
∞修饰符
in
- 与路径一起使用,并将额外地cd
到给定目录--verbose
- 显示有关 Ruby/gemset 的单行详细信息--summary
- 隐藏输出并仅显示失败/成功列表的摘要--yaml
- 隐藏输出并仅显示失败/成功列表的 yaml 摘要--json
- 隐藏输出并仅显示失败/成功列表的 json 摘要
∞注意事项
如果在脚本编写时使用 set do 操作,请使用 rvm-exec(通常安装到 ~/.rvm/bin/rvm-exec
)。 使用 ~/.rvm/bin/rvm
代替会导致 RVM 生成一个 bash shell,这在进程监控的上下文中是不希望的。
∞示例
要对所有已安装的 Ruby 和别名执行 ruby -v
,您需要运行
∴ rvm all do ruby -v
如果你想针对特定的 Ruby 执行命令(不希望像正常集合操作那样输出额外的日志或 RVM 打印的数据),你可以这样做
∴ rvm ree do ruby -v
由于它是一个集合操作,普通的 Ruby 指定符将起作用。例如,要针对 **2.0.0** 和 **2.1.1** 运行 gem list
并以 Ruby 名称作为前缀,你可以运行
∴ rvm 2.1.1,2.0.0 --verbose do gem list
或者,要针对所有 gemsets 执行 gem env
∴ rvm all-gemsets do gem env
要在当前目录中执行 which ruby
,并加载 .rvmrc
∴ rvm . do which ruby
要在项目目录中执行 rake test
,并加载 .rvmrc
∴ rvm in /path/to/project do rake test
有关更多信息,请参阅 RVM 集合操作。