如何使用 chef 配置 rvmsudo?

如何使用 chef 配置 rvmsudo?

我正在使用chef-rvm 食谱由 fnichol 使用 rvm::system 配方通过 RVM 执行 Ruby 的系统范围安装。例如,在我的运行列表中,我有(未设置其他属性):

recipe[rvm::system]

在我修复了我的 ubuntu 服务器之后,作为普通用户,一切都运行正常。即

$ ruby -v
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

但是,rvmsudo 似乎没有保留 RVM 环境,也没有正确地将其传递给 sudo。我收到以下错误:

$ rvmsudo ruby -v
sudo: ruby: command not found

如何使用 chef 配置我的环境,以便 rvmsudo 可以访问 ruby​​ / gem 环境?

答案1

这似乎是当前版本的 RVM 本身 (1.17.0) 的问题,强制使用旧版本的 RVM 可以解决此问题。我通过设置以下属性来实现此目的:

node['rvm']['version'] = "1.16.13"
node['rvm']['branch'] = "none"

答案2

您仅为您的用户安装了 ruby​​。您应该使用 rvm::system_install 进行系统范围的安装。

相关内容