Php 带木偶的流浪汉,--MANIFESDIR规定错误

Php 带木偶的流浪汉,--MANIFESDIR规定错误,php,nginx,vagrant,puppet,Php,Nginx,Vagrant,Puppet,我想开始一个学习Vagrat和puppet的小项目,所以我用Vagrant创建了一个DEbian VM 虚拟机本身工作得很好。当我尝试为其提供Puppet时,问题就出现了 这是我得到的错误: ==> default: Running provisioner: puppet... ==> default: Running Puppet with default.pp... ==> default: stdin: is not a tty ==> default: Error

我想开始一个学习Vagrat和puppet的小项目,所以我用Vagrant创建了一个DEbian VM

虚拟机本身工作得很好。当我尝试为其提供Puppet时,问题就出现了

这是我得到的错误:

==> default: Running provisioner: puppet...
==> default: Running Puppet with default.pp...
==> default: stdin: is not a tty
==> default: 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.
这是我的目录树:

  • 流浪汉档案

  • 显示

    • default.pp
这是我的档案:

Vagrant.configure(2) do |config|
  config.vm.box = "puphpet/debian75-x64"

  config.vm.network "forwarded_port", guest: 80, host: 4527

  config.vm.provision :shell, :inline => "apt-get update --fix-missing"
  config.vm.provision "puppet" do |puppet|
    puppet.manifests_path = "manifests"
    puppet.manifest_file = "default.pp"
  end
end
这是我的木偶清单:

exec { 'apt-update':
  command => '/usr/bin/apt-get update'
}

package { 'nginx':
  require => Exec['apt-update'],
  ensure => installed,
}

package { 'php5':
  require => Exec['apt-update'],
  ensure => installed,
}

package { 'redis-server':
  require => Exec['apt-update'],
  ensure => installed,
}
在Ubuntu15.10、VirtualBox 5.0.14和Vagrant 1.7.4上的Im支持puppet 4.x,而在puppet 4.x中,
manifest\u dir越来越不受欢迎

你也可以阅读

如果只指定了
environment
environments\u path
,它将解析 并使用
environment.conf
文件中指定的清单。如果
manifest\u路径
manifest\u文件
与 环境选项,则环境中的清单将 由指定的
清单文件
覆盖。如果
显示路径
manifest\u文件
是在没有环境的情况下指定的,旧的 将使用非环境模式(,它将在Puppet 4+上失败。

因此,您需要:

  • 升级puppet结构以支持puppet 4.x(迁移到目录环境)
  • 或者降低box的版本,以便安装puppet 3.x
您的盒子的底部支持puppet 4.x,而在puppet 4.x中,
清单目录越来越不受欢迎

你也可以阅读

如果只指定了
environment
environments\u path
,它将解析 并使用
environment.conf
文件中指定的清单。如果
manifest\u路径
manifest\u文件
与 环境选项,则环境中的清单将 由指定的
清单文件
覆盖。如果
显示路径
manifest\u文件
是在没有环境的情况下指定的,旧的 将使用非环境模式(,它将在Puppet 4+上失败。

因此,您需要:

  • 升级puppet结构以支持puppet 4.x(迁移到目录环境)
  • 或者降低box的版本,以便安装puppet 3.x

非常感谢,在改变环境后,它就像一个魅力!非常感谢,在改变环境后,它像一个魅力!