我正在使用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 进行系统范围的安装。