我只是想在这里补充我的经验。
所以我有这个模块,我们test
现在用这个目录结构来调用它:
/etc/puppet
|- modules
|- test
| |- manifests
| |- init.pp
| |- metadata.json
| |- README.md
| |- Modulefile
| |- LICENSE
的内容init.pp
很简单class test(){}
尝试做某事include test
总是会导致Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class
。
事实证明,metadata.json
问题出在我这里。事实上,以下是我所拥有的内容
{
"name": "test",
"version": "1.0.0",
"author": "TEST",
"license": "Apache License, Version 2.0",
"summary": "TEST",
"source": "",
"project_page": "https://github.com/test/test"
}
添加dependencies
密钥解决了我的问题。
{
"name": "test",
"version": "1.0.0",
"author": "TEST",
"license": "Apache License, Version 2.0",
"summary": "TEST",
"source": "",
"project_page": "https://github.com/test/test"
"dependencies": [
]
}
,
注意到项目页面末尾缺少一个 吗?好吧,即使 metadata.json 不是有效的 json,它仍然可以正常工作。
我的问题是:到底发生什么事了?