Linux 异常错误:无法分析应用程序选项:无效选项:--manifestdir

Linux 异常错误:无法分析应用程序选项:无效选项:--manifestdir,linux,vagrant,puppet,Linux,Vagrant,Puppet,当我运行Vagrant up时,我发现有人说puppet最新版本不支持该选项,但不知道如何解决该问题,我发现以下错误: ==> centos7base: Running provisioner: puppet... ==> centos7base: Running Puppet with site.pp... ==> centos7base: Error: Could not parse application options: invalid option: --manife

当我运行
Vagrant up
时,我发现有人说puppet最新版本不支持该选项,但不知道如何解决该问题,我发现以下错误:

==> centos7base: Running provisioner: puppet...
==> centos7base: Running Puppet with site.pp...
==> centos7base: Error: Could not parse application options: invalid option: --manifestdir
The SSH command responded with a non-zero exit status. Vagrant
assumes that this means the command failed. The output for this command
should be in the log above. Please read the output to determine what
went wrong.
流浪版本:
1.7.4

流浪汉档案:

config.vm.provision "puppet" do |puppet|
    puppet.facter = {
      "vagrant" => "1"
    }
    puppet.manifests_path = ["vm", "/Vagrant/puppet"]
    puppet.hiera_config_path = "puppet/hiera.yaml"
    puppet.module_path = "puppet/modules"
    puppet.manifest_file = "site.pp"
  end

您应该使用一个与Vagrant文件位置相关的文件夹,Vagrant非常聪明,可以自行将其装入实例中

这是我的开发机器的一个工作实例中的一个示例。它有vagrant/vagrant文件,但它也有清单文件夹和模块文件夹,与子目录位于同一个vagrant/文件夹中

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.module_path = "modules"
    puppet.options = ['--verbose']
    puppet.facter = {
        "fqdn" => "vagrant-test.domain.env"
    }
  end

您应该使用一个与Vagrant文件位置相关的文件夹,Vagrant非常聪明,可以自行将其装入实例中

这是我的开发机器的一个工作实例中的一个示例。它有vagrant/vagrant文件,但它也有清单文件夹和模块文件夹,与子目录位于同一个vagrant/文件夹中

  config.vm.provision :puppet do |puppet|
    puppet.manifests_path = "manifests"
    puppet.module_path = "modules"
    puppet.options = ['--verbose']
    puppet.facter = {
        "fqdn" => "vagrant-test.domain.env"
    }
  end

我在使用Ubuntu/xenial64框时遇到了这个问题;解决办法是 安装
puppet通用
软件包。我通过shell及其安装配置如下:

config.vm.provision“shell”,路径:“install puppet.sh”

文件内容install-puppet.sh:

#/bin/bash
cd/tmp
wgethttp://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
dpkg-i puppettelabs-release-pc1-xenial.deb
更新源
apt get-y安装公用程序
echo“PATH=/opt/puppetlabs/bin:$PATH”>>/etc/bash.bashrc
echo“导出路径”>>/etc/bash.bashrc
导出路径=/opt/puppetlabs/bin:$PATH

我在使用Ubuntu/xenial64框时遇到了这个问题;解决办法是 安装
puppet通用
软件包。我通过shell及其安装配置如下:

config.vm.provision“shell”,路径:“install puppet.sh”

文件内容install-puppet.sh:

#/bin/bash
cd/tmp
wgethttp://apt.puppetlabs.com/puppetlabs-release-pc1-xenial.deb
dpkg-i puppettelabs-release-pc1-xenial.deb
更新源
apt get-y安装公用程序
echo“PATH=/opt/puppetlabs/bin:$PATH”>>/etc/bash.bashrc
echo“导出路径”>>/etc/bash.bashrc
导出路径=/opt/puppetlabs/bin:$PATH

可能的重复后来我发现问题是puppet版本
4.x
,我使用的是puppet-4.2.1附带的puppetlab-centos7图像。我卸载了puppet 4.2.1并安装了puppet-3.8.1,它确实起了作用!后来我发现问题是puppet版本
4.x
,我使用的是puppet-4.2.1附带的puppetlab-centos7图像。我卸载了puppet 4.2.1并安装了puppet-3.8.1,它确实起了作用!