【问题标题】:Trouble with knife cookbook site install刀食谱网站安装问题
【发布时间】:2017-04-13 07:38:19
【问题描述】:

下载食谱就可以了。

PS> knife cookbook site download java_se
Downloading java_se from Supermarket at version 8.121.0 to D:/tools/chef-setupDevEnv/java_se-8.121.0.tar.gz
Cookbook saved: D:/tools/chef-setupDevEnv/java_se-8.121.0.tar.gz

但是,当我想安装说明书时,问题就出现了。

PS>knife cookbook site install java_se
Installing java_se to D:/tools/chef-setupDevEnv/chef-java_se
ERROR: The cookbook repo path D:/tools/chef-setupDevEnv/chef-java_se does not exist or is not a directory

我在chef blog上找到的,

注意:如果您收到错误“错误:IOError:无法打开或读取 /Users/nshamrell/chef-repo/cookbooks/mysql/metadata.rb”,请检查您使用的是哪个版本的刀: $ knife -v 如果它低于 Chef: 12.0.2,您将需要更新您的 Knife 版本。但是,如果您使用的是 Chef DK 和 rvm,请尝试运行以下命令: $ rvm use system

根据我的情况。

PS> knife -v
Chef: 12.19.36
PS>rvm use system
+ rvm use system
+ ~~~
+ CategoryInfo          : ObjectNotFound: (rvm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

当我在 git bash 上运行它时

$ rvm use system
bash: rvm: command not found

这是否意味着我需要安装 rvm?但是,我正在使用 Windows 工作站,这也是我选择 chef 的原因。 现在有什么更好的解决方案?

我的knife.rb 在D:\tools\chef-setupDevEnv\.chef

current_dir = File.dirname(__FILE__)
log_level                :info
log_location             STDOUT
node_name                "bro****ane"
client_key               "#{current_dir}/bro****ane.pem"
chef_server_url          "https://api.chef.io/organizations/tm****gy"
cookbook_path            ["#{current_dir}/../chef-java_se"]

【问题讨论】:

  • 可能D:/tools/chef-setupDevEnv/chef-java_se 是您系统上的文件吗?
  • 你能添加你的knife.rb吗?特别是 cookbook_path 变量
  • @DracoAter 我没有那个文件。我需要手动创建那个目录吗?
  • 不,我不这么认为。

标签: chef-infra


【解决方案1】:

当你运行knife cookbook site download 时,你告诉knife 在你调用它的当前目录中下载食谱的.tar.gz。在这种情况下,它适合您。

但是knife cookbook site install 的工作方式不同。它假设您有您的knife.rbcookbook_path 指向您文件系统中的一个目录,该目录是一个厨师(和 git)回购(至少)完成一次提交。就我在您在此处所写的内容中所看到的而言,这不是您的情况。

您在D:/tools/chef-setupDevEnv/SomeDirectory 中调用knife 而您的knife.rb 告诉刀去#{current_dir}/../chef-java_se 这是D:/tools/chef-setupDevEnv/chef-java_se,它可能不存在,如果是这样,它不是一个满足我在上一段中所说的条件。

installdownload 的主要用途是控制您使用的食谱中的更改分支,您将找到有关其优势的更多信息here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多