【问题标题】:Chef knife upload get ERROR: Errno::ENOENT: No such file or directory厨师刀上传得到错误:Errno::ENOENT:没有这样的文件或目录
【发布时间】:2014-02-01 04:15:28
【问题描述】:

我对本地厨师存储库中的角色进行了一些更改,并想使用刀上传角色将我的更改上传到厨师服务器,但我收到此错误消息

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

我的刀.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'

【问题讨论】:

  • 你的knife.rb的内容是什么?你从哪里运行这个?你具体运行了什么命令?
  • 我添加了更多信息部分来回答您的问题

标签: chef-infra


【解决方案1】:

只需从 Chef 存储库的根目录运行 knife upload roles。没有斜线,没有子目录。

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

【讨论】:

  • 我仍然收到关于没有文件或目录的相同错误消息
  • 你的角色是 ruby​​ 还是 json?
  • knife upload 不支持 Ruby 文件
  • 真的!如果是这种情况,我将运行什么命令将我修改的角色上传到厨师服务器
  • 文件(文件名)中的刀角色
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-29
  • 2012-02-24
  • 2020-02-22
  • 2015-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多