gpt4 book ai didi

php - Vagrant/Puppet --- 确保 : change from present failed: Could not set 'present on ensure: No such file or dir

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:59:30 24 4
gpt4 key购买 nike

我正在使用 Vagrant 和 Puppet 在 Ubuntu 上安装 Apache 和 PHP。但是,我在 vagrant up 期间收到以下错误。我认为模板的路径是正确的,那为什么会出错呢?

我正在使用设置 here修改以确保 apt-get update 在任何其他操作之前运行

错误


←[1;35merr:/Stage[main]/Php/File[/etc/php5/apache2/apc.ini]/ensure: 从
缺席出席失败:无法设置“出席确保:没有这样的文件或目录
ectory -/etc/php5/apache2/apc.ini.puppettmp_6187 在/tmp/vagrant-puppet/modules
-0/php/manifests/init.pp:44←[0m

←[1;35merr:/Stage[main]/Php/File[/etc/php5/apache2/php.ini]/ensure: 更改自
缺席出席失败:无法设置“出席确保:没有这样的文件或目录
ectory -/etc/php5/apache2/php.ini.puppettmp_6687 在/tmp/vagrant-puppet/modules
-0/php/manifests/init.pp:36←[0m

/modules/php/manifests/init.pp

file { "/etc/php5/apache2/php.ini":
ensure => present,
mode => 644,
content => template("php/etc/php5/conf.d/php.ini.erb"),
require => Package["php5"],
notify => Service["apache"];
}

file { "/etc/php5/apache2/apc.ini":
ensure => present,
mode => 644,
content => template("php/etc/php5/conf.d/apc.ini.erb"),
require => [ Package["php5"], Package["php-apc"], Package["apache"] ],
notify => Service["apache"];
}

模板

  • /modules/php/templates/etc/php5/conf.d/apc.ini.erb
  • /modules/php/templates/etc/php5/conf.d/php.ini.erb

最佳答案

只需确保目录/etc/php5/apache2 存在。

file { [ "/etc", "/etc/php5", "/etc/php5/apache2" ]:
ensure => directory,
before => File['/etc/php5/apache2/php.ini'],
}

或者少一点 puppet 风格

exec { "ensure /etc/php5/apache2":
command => "mkdir -p /etc/php5/apache2",
creates => "/etc/php5/apache2"
}

这一切可能是因为对执行顺序的假设。

更多信息@puppet docs

关于php - Vagrant/Puppet --- 确保 : change from present failed: Could not set 'present on ensure: No such file or dir,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782512/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com