npm install não está funcionando corretamente sobre o fantoche

1

Estou com um problema ao executar a instalação do npm 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 tem sqlite3 como uma dependência. O problema que eu me deparo é quando executando 'npm install "a dependência sqlite3 tem que ser compilado a partir da fonte para ser executado 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 o 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 obtenho o sqlite3 para compilar corretamente usando o Puppet? Eu não quero ter que executar o npm install manualmente em todos os servidores que eu configuro este aplicativo.

    
por cvalentin 07.04.2014 / 22:28

1 resposta

2

Parece que o seu PATH não está suficientemente configurado.
Quando você constrói um módulo a partir do fonte npm, terá que executar vários comandos que precisam estar em 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
    
por 08.04.2014 / 03:48