You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PuPHPet执行vagrant up报错:无效选项--manifestdir,求配置指导

解决PuPHPet + Puppet V5的--manifestdir无效问题

我之前折腾PuPHPet的时候也碰到过这个坑,Puppet 5确实把manifest_dir这个选项砍掉了,必须切换到环境机制来配置。下面针对你的两个问题详细说:

1. 配置项在config.yaml中的添加位置

直接找到provision -> puppet这个节点,在里面新增environment和environments_path两个配置项就行。结合你现有的配置,修改后这部分应该是这样的:

provision:
  puppet:
    manifests_path: puphpet/puppet/manifests
    module_path:
      - puphpet/puppet/modules
      - puphpet/puppet/manifests
    # 新增的环境配置
    environment: production
    environments_path: puphpet/puppet/environments
    options:
      - '--verbose'
      - '--hiera_config /vagrant/puphpet/puppet/hiera.yaml'
  • environment:指定你要使用的环境名称,一般用production或者development,可以自己定义
  • environments_path:指定环境文件夹的根路径,这个路径是相对于你的项目根目录(也就是Vagrantfile所在的位置)的相对路径

另外要注意:如果你的options里原来有--manifestdir相关参数,一定要删掉,你现在的配置里没有,所以不用额外操作。

2. 环境文件夹的放置路径

你需要在PuPHPet的目录结构里创建对应的环境文件夹,标准结构如下:

你的项目根目录/
└── puphpet/
    └── puppet/
        └── environments/
            └── production/  # 这里的名称要和你上面配置的environment一致
                ├── manifests/  # 放该环境的manifest文件,比如site.pp
                └── modules/    # 放该环境专属的模块(可选)

如果想复用你现有的manifest内容,直接把puphpet/puppet/manifests里的文件复制到environments/production/manifests里就行。原来的全局模块puphpet/puppet/modules依然会被Puppet加载,不需要移动,环境专属的模块可以放在对应环境的modules文件夹里。

修改完配置和文件夹结构后,重新运行vagrant up应该就能正常启动了。

内容的提问来源于stack exchange,提问作者Rooneyl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:38:31