npm install 无法在 puppet 上正常运行

npm install 无法在 puppet 上正常运行

当我使用 Puppet 设置我的应用程序时,运行 npm install 遇到问题。

我正在使用 Puppet 设置一个 node.js 应用程序,我们将在几周内使用它。此应用程序具有 sqlite3 作为依赖项。我遇到的问题是,当运行“npm install”时,必须从源代码编译 sqlite3 依赖项才能正常运行。但是正确的命令:

npm install --build-from-source=sqlite3

使用 Puppet 中的 exec 命令无法正常运行。我的 Puppet 代码如下:

exec { 'npm install --build-from-source=sqlite3' :
    cwd => '/var/video_server',
    user => 'root',
    path => '/usr/local/node/node-default/bin'
}

如何使用 Puppet 正确编译 sqlite3?我不想在安装此应用程序的每台服务器上手动运行 npm install。

答案1

看来您的 PATH 配置不够充分。
当您从源代码构建模块时,npm 将必须运行多个命令,这些命令必须在您的 PATH 上。
因此,请尝试以下操作:

exec { 'npm install --build-from-source=sqlite3' :
    cwd => '/var/video_server',
    user => 'root',
    path => ['/usr/local/node/node-default/bin', '/bin', '/usr/bin']
}

希望这可以帮助你。

为了验证它是否有效,您可以尝试以 root 身份运行/var/video_server

PATH=/usr/local/node/node-default/bin:/bin:/usr/bin npm install --build-from-source=sqlite3

相关内容