16
Desidero impostare una variabile di ambiente quando si esegue un programma tramite child_process.exec
. È possibile?NodeJS imposta la variabile di ambiente per exec
ho provato a fissare il env
in questo modo:
exec('FOO', {'FOO': 'ah'}, function(error, stdout, stderr) {console.log(stdout, stderr, error);});
ma il messaggio risultante detto FOO non esisteva.
Chiunque utilizzi questo dovrebbe prendere atto che specifica le variabili d'ambiente in questo modo sostituisce l'insieme _entire_ di variabili d'ambiente, * * compreso qualsiasi 'path' che altrimenti potrebbero esistere. Quindi, se provi a impostare una variabile env e improvvisamente ricevi degli errori sul comando che stai cercando di eseguire, non è stato trovato, ecco perché. Questo non è affatto chiaro dalla documentazione e mi ha lasciato grattarmi la testa per un po '. Se si desidera aggiungere variabili env e rimanere indipendenti dalla piattaforma, è possibile creare una copia di 'process.env', applicare le proprie modifiche e passarlo a' child_process.exec'. – DanielSmedegaardBuus
È inoltre possibile aggiornare il comando 'process.env'. Es: 'process.env [" PATH "] + = path.delimiter + process.cwd() + path.sep +" node_modules "+ path.sep +" .bin "' – mems