Chef knife upload get ERROR:Errno :: ENOENT:没有这样的文件或目录

时间:2014-01-31 17:07:35

标签: chef

我对当地的chef-repo上的角色进行了一些更改,并希望使用刀上传角色将我的更改上传到chef-server但是我收到此错误消息

ERROR: Errno::ENOENT: No such file or directory - /home/danny/git/chef-repo/cookbooks/~/git/chef-repo

所有刀上传命令都会出现此错误

我能够成功使用bundle exec knife cookbook upload -a

知道出了什么问题

更多信息 我试过的命令是 knife upload /roles< ---在我当地的厨师回购顶部 &安培; 来自角色目录的knife upload roles< -

my knife.rb

log_level                :info
log_location             STDOUT
node_name                'admin'
client_key               '~/.chef/admin.pem'
validation_client_name   'chef-validator'
validation_key           '~/.chef/chef-validator.pem'
chef_server_url          'https://chef.example.org'
chef_server_ip           '10.32.2.53'
syntax_check_cache_path  '~/.chef/syntax_check_cache'
cookbook_path        [ '~/git/chef-repo/cookbooks', '~/git/chef-repo/site-cookbooks' ]

knife[:use_sudo] = true
knife[:ssh_user] = "emn"
knife[:use_sudo_password] = true
knife[:identity_file] = '~/.chef/emn.pem'

1 个答案:

答案 0 :(得分:0)

只需从Chef repo的根目录运行knife upload roles即可。没有斜杠,没有子目录。

此外,如果您想使用knife upload,您的角色可能是JSON。否则,您需要使用knife role from file