La instalación de npm no se ejecuta correctamente sobre Puppet

La instalación de npm no se ejecuta correctamente sobre Puppet

Tengo problemas al ejecutar npm install cuando uso Puppet para configurar mi aplicación.

Estoy usando Puppet para configurar una aplicación node.js que usaremos en vivo dentro de unas semanas. Esta aplicación tiene sqlite3 como dependencia. El problema con el que me encuentro es que cuando ejecuto 'npm install', la dependencia sqlite3 debe compilarse desde el código fuente para ejecutarse correctamente. Sin embargo, el comando correcto:

npm install --build-from-source=sqlite3

No se ejecutará correctamente con el comando exec en Puppet. Tengo mi código Puppet a continuación:

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

¿Cómo consigo que sqlite3 se compile correctamente usando Puppet? No quiero tener que ejecutar npm install manualmente en cada servidor en el que configuro esta aplicación.

Respuesta1

Parece que tu RUTA no está suficientemente configurada.
Cuando cree un módulo desde la fuente, npm tendrá que ejecutar varios comandos que deben estar en su RUTA.
Así que por favor intenta esto:

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

espero que esto te ayude.

Para verificar que funciona, puede intentar ejecutar como root en /var/video_server:

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

información relacionada