在没有 "bundle exec" 的情况下,在终端的任何地方使用 knife 命令

Using knife commands anywhere in terminal and without "bundle exec"

我最近在格式化的驱动器上搬到了 Catalina。过去,我可以从终端上的任何目录 运行 knife

目前,它只有 运行s 来自安装它的 chef 仓库,当我用 bundle exec

作为前缀时它只有 运行s

找不到关于此事的任何文档,我对 terminal/bash/zsh 细微差别不是很精通 - 任何提示都将不胜感激

如果您关心 运行 多个版本的 chef-client,我会建议您继续使用 bundler,这样您就可以不时更新 chef-client 并保持工作顺利。

你可以在项目的Gemfile中指定chef-client版本,比如

group :default do
  gem 'chef', '15.8.23'
end

您可以通过提供 file (specifying cookbooks attribute, etc) and a client configuration(指定 chef-client 设置,例如 cookbook 目录等)使 chef-client 更加流线化,并将它们存储在项目存储库中。

否则,您可以install chef workstation which bundles chef-client (chef infra client) or only chef infra client(确定您需要的版本)。

查看 macos installtion or use brew to tap to homebrew-chef

brew cask install chef/chef/chef-workstation

或仅 chef infra 客户

brew cask install chef/chef/chef-infra-client