【问题标题】:Knife command works from one particular directory but not from others. why?Knife 命令适用于一个特定目录,但不适用于其他目录。为什么?
【发布时间】:2015-07-22 21:19:43
【问题描述】:

我在 Chef 服务器上创建了一个名为“kaushikinc”的组织,目录结构为“C:/x/y/z/kaushikinc”。

当我从 kaushikinc 文件夹执行命令时,它们工作正常,但是当我从父文件夹或子文件夹执行时,它们不起作用。我做错了什么?

例如:来自子文件夹:没有成功或错误消息:

但是当我从 kaushikinc 文件夹尝试时成功了

编辑:添加新图像以显示即使我传递了knife.rb 配置文件的位置也存在问题

Edit2:只有在“文件中的刀具数据包”命令上使用“--all”选项时,我才会遇到此问题。我可以从任何启用了 -c 的目录执行任何其他命令。

【问题讨论】:

    标签: ruby chef-infra knife chefdk


    【解决方案1】:

    通常,这是因为您所在的目录或父目录包含.chef 目录。刀搜索.chef

    • ./.chef(当前目录包含.chef)
    • ~/.chef(homedir 包含 .chef)
    • 父目录(例如 ./.. 然后 ./../.. 一直回到 /)

    你可以看到some of the logic itself here

    【讨论】:

    • 我明白你的意思。我还尝试使用 --config 选项来提供 .chef\knife.rb 位置。即使在通过 knife.rb 位置后我也有同样的问题。
    • 编辑了我的帖子。所以如果我给 --config 选项,它不应该搜索 .chef 目录吗?
    • 是的,如果您提供-c <path_to_knife.rb>,它将覆盖其他所有内容。我一直在使用这个功能。
    • 但是即使使用 -c 我仍然有同样的问题。检查我在问题中的最后一张图片。
    • 值得注意的是KNIFE_HOME环境变量可以设置为包含knife.rb文件的路径,效果与-c相同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-16
    • 2016-05-08
    • 1970-01-01
    • 2014-08-06
    相关资源
    最近更新 更多