npm install 無法在 puppet 上正常運作

npm install 無法在 puppet 上正常運作

使用 Puppet 設定我的應用程式時,執行 npm install 時遇到問題。

我正在使用 Puppet 來設定一個 Node.js 應用程序,我們將在幾週後實際使用該應用程式。該應用程式有 sqlite3 作為依賴項。我遇到的問題是執行「npm install」時,必須從原始碼編譯 sqlite3 依賴項才能正常運行。

npm install --build-from-source=sqlite3

在 Puppet 中使用 exec 命令將無法正常運作。我的木偶程式碼如下:

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

相關內容