CHEF - 当前目录位于存储库路径之外时,尝试使用相对路径'foo

问题描述 投票:2回答:3

当我尝试运行knife upload rolesknife 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"
chef knife
3个回答
3
投票

如果没有在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/

0
投票

我发现,那刀可以是区分大小写的:

https://tickets.opscode.com/browse/CHEF-4663

或“斜线” - 敏感:

基本上,我的knife.rb中有一个斜杠(\),但是我的Windows系统正在生成其他斜杠(/),并且它们不匹配。


0
投票

对我来说,我将cookbook文件夹放在〜/ .chef文件夹中,这导致了问题。我通过将cookbook文件夹向上移动一个目录并更新了〜/ .chef / knife.rb中的路径来解决它。

current_dir = File.dirname(__FILE__)
cookbook_path            ["#{current_dir}/../cookbook_dir"] 
© www.soinside.com 2019 - 2024. All rights reserved.