0

我正在尝试创建一个厨师脚本,该脚本下载文件并使用 IO.read(downloaded File) 将下载文件的内容传递给模板变量,该模板变量在内部下载多个文件。下载的文件具有特定的格式,例如文件名、url、校验和等。我需要根据第一个 remote_file 的数据在模板内再次使用 remote_file。

由于远程文件不存在,我得到一个编译时错误

Errno::ENOENT
-------------
No such file or directory @ rb_sysopen - ....

有什么建议可以解决我的用例吗?

4

1 回答 1

1

由于两遍模型,您需要将文件读取延迟到收敛时间。阅读https://coderanger.net/two-pass/了解什么是两遍模型的详细信息。在这种情况下,您可能需要类似的东西variables foo: lazy { IO.read('something') }(假设您正在运行 Chef 13)。

于 2017-10-13T14:52:26.603 回答