如果您能提供帮助或希望成为维护者之一,请开始提供帮助。 您可以在 RVM Github 组织。 找到更多与 RVM 相关的项目。
∞使用 RVM 与 Cron
RVM 允许几种简单的方法与 cron 集成
∞直接调用 RVM 生成的包装器
对于每个安装的 ruby 和创建的 gemset,RVM 都会为基本命令行工具(如 gem
、rake
、ruby
)创建包装器。 您可以在 $rvm_path/wrappers/<ruby-version>[@gemset-name]
中找到它们。
因此,当项目 ruby 为 2.1.1@projectX
时,以下 cron 条目将使用正确的环境工作
1 0 * * * /usr/local/rvm/wrappers/ruby-2.1.1@projectX/ruby /path/to/script.rb 1 15 * * * /usr/local/rvm/wrappers/ruby-2.1.1@projectX/rake update stats
∞别名
为了简化将来 ruby 版本的更改,请使用别名,这是确保配置在 ruby 版本更改时无需更改的最简单方法
rvm alias create my-project ruby-2.1.1@projectX
然后您可以使用别名路径
1 15 * * * /usr/local/rvm/wrappers/my-project/rake update stats
∞在 shell 脚本中加载 RVM 环境文件
对于每个安装的 ruby 和创建的 gemset,RVM 都会创建环境文件。 您可以通过运行以下命令找到它们
rvm env --path -- ruby-version[@gemset-name]
假设项目 ruby@gemset 为 2.1.1@projectX
,那么调用
rvm env --path -- 2.1.1@projectX
将返回
/usr/local/rvm/environments/ruby-2.1.1@projectX
∞示例脚本
与 rvm 安装的 ruby 交互的基本 shell 脚本如下所示
#!/usr/bin/env bash # load rvm ruby source /usr/local/rvm/environments/ruby-2.1.1@projectX bundle install ruby /path/to/script.rb rake do something