【问题标题】:private method `open' called for Chef::Provider::File:Class为 Chef::Provider::File:Class 调用私有方法“open”
【发布时间】:2014-10-31 05:08:38
【问题描述】:

我正在尝试创建一个将所有属性写入文件的资源。

提供者gist

资源gist

我收到以下错误:

对资源“ruby_block[dump_node_attributes]”执行操作run时出错`

NoMethodError

private method `open' called for Chef::Provider::File:Class

Cookbook Trace:

/Users/odedpriva/.chef/local-mode-cache/cache/cookbooks/test-helper/providers/create.rb:24:in `block (3 levels) in class_from_file'

知道我做错了什么吗?

【问题讨论】:

    标签: chef-infra


    【解决方案1】:

    在您的区块中,将其设为::File.open。不幸的是,由于 Ruby 的隐式相对符号查找,这是必需的。前导 :: 强制它成为绝对符号,就像路径中的前导 /

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-26
      • 2014-09-28
      • 2014-04-21
      相关资源
      最近更新 更多