Bonjour,
Je suis nouveau ici et j'ai un petit problème. Dans un contexte d'adminsys très particulier, j'ai besoin d'utiliser NodeJS sans pouvoir l'inclure dans le variable d'environnement $PATH.

Par conséquent, quand NPM tente d'accéder à NodeJS, il n'arrive pas à le trouver. Je souhaite donc trouver un moyen de lui indiquer directement le chemin NodeJS.

Sur NPM v6, je peux ajouter ceci dans .npmrc pour faire cela:

scripts-prepend-node-path=true

Ce que je veux

L'idée est donc de reproduire cela mais sur NPM v8, ou bien d'altérer de façon éphémère le variable $PATH juste pour l'exécution d'un "npm run dev" sans affecter les autres processus du système ni les prochaines commandes qui s'en suivront du terminal.

Ce que j'obtiens

Cette paramètre est absente sur les versions supérieures à NPM v6.

1 réponse


Hello, alors pour la solution éphémère tu peux ajouter dans le script dev dans package.json $PATH=/path/to/node script..., comme ça le path est définit uniquement pendant l'execution du script, le $PATH original ne change pas, il est juste ignoréé parce que tu à définit manuellement la variable, et à la fin du script cette variable disparait :p

Ensuite solution plus propre ce serait d'utiliser Docker, tu utilises le npm et node de Docker tu lances ton appli sur Docker, pour le serveur tu héberges en Cloud le container Docker, ça coute beaucoup moins cher qu'un serveur dédié Linux, tu payes à l'utilisation et si tu utilises un container linux alpine c'est ultra léger, autre avantage c'est que ça te libère du taf, il y a pas besoin de trop de maintenance avec un container :)