npm install não está funcionando corretamente no fantoche

npm install não está funcionando corretamente no fantoche

Estou tendo problemas ao executar npm install ao usar o Puppet para configurar meu aplicativo.

Estou usando o Puppet para configurar um aplicativo node.js que usaremos ao vivo em algumas semanas. Este aplicativo possui sqlite3 como dependência. O problema que encontro é que ao executar 'npm install", a dependência sqlite3 precisa ser compilada a partir do código-fonte para funcionar corretamente. No entanto, o comando correto:

npm install --build-from-source=sqlite3

Não será executado corretamente usando o comando exec no Puppet. Eu tenho meu código Puppet abaixo:

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

Como faço para que o sqlite3 compile corretamente usando o Puppet? Não quero ter que executar o npm install manualmente em todos os servidores em que configuro este aplicativo.

Responder1

Parece que seu PATH não está suficientemente configurado.
Quando você constrói um módulo a partir da fonte, o npm terá que executar vários comandos que devem estar no seu PATH.
Então, por favor, tente isto:

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 isso ajude você.

Para verificar se funciona, você pode tentar executar como root em /var/video_server:

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

informação relacionada