错误:无法初始化全局默认设置:无法在puppet.conf中设置modulepath设置
我在设置木偶主人的modulepath时遇到问题错误:无法初始化全局默认设置:无法在puppet.conf中设置modulepath设置,puppet,Puppet,我在设置木偶主人的modulepath时遇到问题 # puppet -V 4.10.5 这是默认的modulepath # puppet config print modulepath /etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules 我必须添加两个目录 /etc/puppetlabs/code/environmen
# puppet -V
4.10.5
这是默认的modulepath
# puppet config print modulepath
/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
我必须添加两个目录
- /etc/puppetlabs/code/environments/production/modules/tools
- /etc/puppetlabs/code/environments/production/modules/core
# puppet config set modulepath "/etc/puppetlabs/code/environments/production/modules/tools:/etc/puppetlabs/code/environments/production/modules/core:`puppet config print modulepath`"
但我得到了这个错误:
# puppet config print modulepath
Error: Could not initialize global default settings: Cannot set modulepath settings in puppet.conf
my puppet.conf中的modulepath看起来正常:
# grep modulepath /etc/puppetlabs/puppet/puppet.conf
modulepath = /etc/puppetlabs/code/environments/production/modules/tools:/etc/puppetlabs/code/environments/production/modules/core:/etc/puppetlabs/code/environments/production/modules:/etc/puppetlabs/code/modules:/opt/puppetlabs/puppet/modules
我做错了什么,或者这是一个bug?这些额外的模块路径特定于您的生产目录环境,因此它们可以像这样附加到您的生产目录环境的
environment.conf
中(所以不允许我很好地格式化):
#/etc/puppetlabs/code/environments/production/environment.conf
/etc/puppetlabs/code/environments/production/modules/tools:/etc/puppetlabs/code/environments/production/modules/core:$basemodulepath
您的$basemodulepath
在puppet.conf
中指定,通常位于/etc/puppetlabs/puppet/puppet.conf
。它是INI格式的basemodulepath
的值<根据文档,配置文件中的code>modulepath未在目录环境中使用
有关environment.conf
的更多信息:
有关在目录环境中附加模块路径的详细信息:假设您想列出已安装在modulepath中的模块,并希望写入:
puppet module list
而不是:
木偶模块列表--模块路径=C:\tmp\modules
然后可以通过如下方式设置basemodulepath来设置modulepath:
木偶配置集basemodulepath“C:\tmp\modules”
这将在puppetlabs中创建一个文件puppet.conf;在windows下,它可能位于以下位置:
C:\Users\如果您使用modulepath而不是basemodulepath,则puppet会在每次导致错误时尝试设置modulepath,因为这两个额外的modulepath特定于您的
生产
目录环境,请尝试将它们附加到basemodulepath
(来自puppet.conf
)在您的环境中.conf
用于生产
:。谢谢。在environment.conf中设置modulepath似乎有效。奇怪的是,puppet-config-set-modulepath…
没有更新environment.conf。要我写下来作为答案吗?这取决于您。我会投票并接受它。