人偶编译构建命令失败

puppet compilation build command failing

下面的解决方案解决了一个问题,但又出现了另一个问题:

代码如下:

exec { "Download Phalcon":
    path => ["/usr/bin/", "/home/cphalcon/build"],
    command => "git clone git://github.com/phalcon/cphalcon.git /home/cphalcon",
    require => [Package["git"], Package["php5-fpm"]]
}

exec { "Build Phalcon":
    require => Exec["Download Phalcon"],
    command => "./install",
#    creates => "/home/cphalcon/build",
    cwd => "/home/cphalcon/build",
    path => ["/usr/bin", "/home/cphalcon/build"]
}

错误如下:

==> default: Error: ./install: line 38: rm: command not found
==> default: ./install: line 64: phpize: command not found
==> default: Error: /Stage[main]/Main/Exec[Build Phalcon]/returns: change from notrun to 0 failed: ./install: line 38: rm: command not found
==> default: ./install: line 64: phpize: command not found

有什么想法吗?当我从 CLI 手动调用 ./install 时,phpize 并没有丢失——为什么现在它会丢失?

exec 命令对 cwd 参数不起作用。它设置当前目录,但不允许命令 运行 相对于该目录。

您还需要设置 path 参数(在您的情况下为 path => ['/home/cphalcon/build'])。看看this documentation