您可以使用它gem env
来查找将安装 gem 二进制文件的目录。例如,在我的主目录中安装了 RVM 的 Mac OS X 系统上:
% gem env | grep EXECUTABLE
- RUBY EXECUTABLE: /Users/jtimberman/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
- EXECUTABLE DIRECTORY: /Users/jtimberman/.rvm/gems/ruby-1.9.3-p0/bin
不过,一般来说,使用 RVM 或类似的从源代码编译策略部署 Ruby 需要很长时间,而且这些工具使用的“shell 魔法”可能会导致混乱。
试试Omnibus 构建的Chef Full stack 包。此处提供的说明:
基本上,您可以在 Linux/Unix 平台上执行此操作。
wget -O- https://opscode.com/chef/install.sh | sudo bash
install.sh 仅检查本地系统的平台和架构,并使用该信息构成S3 存储桶中目录的 URL,以获取支持平台的完整堆栈包。
此安装包括平台 libc 之上的所有内容,包括 Ruby (1.9.2+)、RubyGems 和其他各种库和工具。这意味着您仍然可以在不修改 Chef 所需的 Ruby 环境的情况下以您喜欢的方式(当然是使用说明书)为您的基于 Ruby 的应用程序(如果有)安装 Ruby,并且您将拥有一个已知且经过良好测试的 Ruby 版本与厨师一起工作。
其他安装路径(RubyGems 等)继续可用,但这是迄今为止最省事的方法,并且将是在 Opscode 支持的任何平台上安装 Chef 的最佳支持方法。
此外,截至目前,版本 0.10.10+,chef-full 引导模板将是那些knife bootstrap
用于自动设置 Chef 客户端系统的人的默认设置。
注意 在撰写本文时,完整的堆栈安装程序处于“测试版”。它将保持此状态直到发布,这将与 Chef 0.10.10 版本的发布相吻合。它在安装页面上说它不受支持,但很快就会支持。