
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