当我尝试运行knife upload roles
或knife upload /roles
时,它会出现以下错误
cd ~/my-chef-repo
knife upload roles -n -V
INFO: Using configuration from /Users/sowen/.chef/knife.rb
ERROR: Attempt to use relative path 'roles' when current directory is outside the repository path
我的knife.rb文件
cookbook_path "/Users/me/my-chef-repo"
如果没有在knife.rb中正确设置cookbook_path,就会发生这种情况
请执行下列操作:
确保你的knife.rb有一个斜杠
cookbook_path "/Users/me/my-chef-repo/"
或者从命令行传入repo路径
knife upload roles -n -VV --chef-repo-path /Users/me/my-chef-repo/
我发现,那刀可以是区分大小写的:
https://tickets.opscode.com/browse/CHEF-4663
或“斜线” - 敏感:
基本上,我的knife.rb中有一个斜杠(\),但是我的Windows系统正在生成其他斜杠(/),并且它们不匹配。
对我来说,我将cookbook文件夹放在〜/ .chef文件夹中,这导致了问题。我通过将cookbook文件夹向上移动一个目录并更新了〜/ .chef / knife.rb中的路径来解决它。
current_dir = File.dirname(__FILE__)
cookbook_path ["#{current_dir}/../cookbook_dir"]