【问题标题】:FATAL: NoMethodError: undefined method `each_char' for ["bundle", "install"]:Array Did you mean? each_consFATAL: NoMethodError: undefined method `each_char' for ["bundle", "install"]:Array 你的意思是? each_cons
【发布时间】:2020-02-12 05:02:58
【问题描述】:

我正在使用 Chef 来自动化部署过程,我已经在我的 Chef 环境中配置了所有内容。

OS & Version details are as below
Chef Server - RHEL7
Chef Workstation - Windows 7 Professional
Chef node : Windows 2016 Server Datacenter


Chef Development Kit Version: 3.3.23
chef-client version: 14.5.33
berks version: 7.0.6
kitchen version: 1.23.2
inspec version: 2.2.112

创建了一个示例食谱,只是为了在我们正在执行 chef-client 的节点中创建一个 test.txt 文件。 以下是我们在配方中使用的文件资源。

file 'C:\\temp\\something.txt' do
  rights :read, 'Everyone'
  #rights :full_control, 'DOMAIN\\User'
  action :create
end

在远程节点上运行 chef-client 时出现以下错误

Running handlers:
[2019-10-15T19:25:18+08:00] ERROR: Running exception handlers
Running handlers complete
[2019-10-15T19:25:18+08:00] ERROR: Exception handlers complete
Chef Client failed. 0 resources updated in 15 seconds
[2019-10-15T19:25:18+08:00] INFO: Sending resource update report (run-id: 5ea7d4d4-2cd4-4456-bcf4-5458fbfdb31d)
[2019-10-15T19:25:19+08:00] FATAL: Stacktrace dumped to c:/chef/cache/chef-stacktrace.out
[2019-10-15T19:25:19+08:00] FATAL: Please provide the contents of the stacktrace.out file if you file a bug report
[2019-10-15T19:25:19+08:00] FATAL: NoMethodError: undefined method 'each_char' for ["bundle", "install"]:Array
Did you mean?  each_cons

我对红宝石知之甚少。 附stacktrace.out

【问题讨论】:

  • 我可以告诉你一些关于这个错误的信息。 Chef 正在尝试运行 bundle install 来安装依赖项。它通过将命令传递给shell_out 来做到这一点。在文档中,它说“在 Windows 上,不支持数组 args [所以] 由调用者在字符串数组上加入(“”)。你在windows上,所以它应该传递字符串"bundle install",但它传递的是数组["bundle", "install"]。在我看来,它就像 Chef 中的一个错误,因为它应该在某个地方将数组转换为字符串,但不是。将其发布在他们的 github 上。
  • 请不要链接到托管您的代码的外部网站。如果您有与您的问题相关的代码,那么您必须将其直接包含在您的问题中。

标签: ruby rubygems chef-infra chef-recipe


【解决方案1】:

感谢@anothermh,这是一个 ChefDK 分类,已在下一次更新中修复。将 Chef DK 和 Chef-client 升级到最新版本解决了我的问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    • 2015-03-19
    • 2016-08-13
    • 1970-01-01
    相关资源
    最近更新 更多