J'essaie de configurer un environnement pour une application node.js
. mais j'obtiens "NODE_ENV" n'est pas reconnu comme une commande interne ou externe, une commande utilisable ou un fichier batch. erreur à chaque fois.
Qu'est-ce que cela signifie et comment puis-je résoudre ce problème?
J'utilise Windows et j'ai également essayé de définir NODE_ENV=development
mais pas de chance.
Aidez-moi! Merci d'avance.
Il semble que votre erreur vienne d’une tentative d’exécution de quelque chose comme celle-ci (qui fonctionne sous Linux).
NODE_ENV=development node foo.js
l'équivalent dans Windows serait
SET NODE_ENV=development
node foo.js
en cours d'exécution dans la même commande Shell. Vous avez mentionné que le jeu NODE_ENV ne fonctionnait pas, mais vous ne saviez pas comment/quand vous l'avez exécuté.
pour Windows, utilisez également &
entre les commandes. Comme,
"scripts": {
"start": "SET NODE_ENV=development & nodemon app/app.js",
}
J'ai écrit un module pour cela: win-node-env .
Il crée un NODE_ENV.cmd
qui définit la variable d'environnement NODE_ENV
et génère un processus enfant avec le reste de la commande et ses arguments.
Installez-le simplement (globalement) et exécutez vos commandes de script npm, il devrait automatiquement les faire fonctionner.
npm install -g win-node-env
npm install "cross-env"
module.cross-env NODE_ENV=development node foo.js
. Ensuite, vous pouvez exécuter le même npm run build
.set NODE_ENV=production & nodemon app/app.js
provoquera contenir un espace à la fin de NODE_ENV
process.env.NODE_ENV == 'production'; //false
process.env.NODE_ENV == 'production '; //true
Comme mentionné dans un commentaire ici , utilisez ceci à la place:
NODE_ENV=production&& nodemon app/app.js
Utilisez win-node-env , Pour l’utiliser, exécutez simplement la commande ci-dessous sur votre cmd
ou power Shell
ou git bash
:
npm install -g win-node-env
Après, tout est comme Linux.
npm install -S cross-env
A travaillé pour moi
Changer vos scripts pour s’adapter à Windows est une douleur royale. Essayer de trouver les traductions appropriées de Windows et de conserver 2 jeux de scripts n’est pas une façon de vivre votre vie.
Il est beaucoup plus facile de configurer npm pour utiliser bash sous Windows et vos scripts s'exécuteront tels quels.
Il suffit de lancer npm config set script-Shell "C:\\Program Files\\Git\\bin\\bash.exe"
. Assurez-vous que le chemin d'accès à l'exécutable bash est correct pour votre ordinateur. Vous devrez probablement démarrer une nouvelle instance du terminal pour que la modification soit prise en compte.
La capture d'écran ci-dessous illustre cet avantage.
Pour ceux qui utilisent Git Bash et qui ont des problèmes avec npm run <script>
,
Il suffit de configurer npm pour qu’il utilise Git Bash pour exécuter des scripts
npm config set script-Shell "C:\\Program Files\\git\\bin\\bash.exe"
(changez le chemin en fonction de votre installation)
Et ensuite, npm exécutera des scripts avec Git Bash, de sorte que des utilisations telles que NODE_ENV=
fonctionneront correctement.
La plupart des réponses ne m'ont pas aidé.
Ce qui m'a aidé était NODE_ENV=production&& nodemon app/app.js
Prenez note de l'espace . Bonne chance.
Si quelqu'un d'autre, comme moi, essayait de trouver une solution à l'erreur:
'env' is not recognized as an internal or external command
La raison pour laquelle j’ai eu ce problème est que j’étais en train de migrer une solution angulaire d’une machine de développement mac vers un bureau Windows 10. Voici comment je l'ai résolu.
exécuter npm install --save-dev cross-env
aller dans mon fichier package.json et changer toutes les références de script de env <whatever>
à cross-env <whatever>
Ensuite, mes commandes telles que: npm run start:some_random_environment_var
fonctionnent désormais correctement sous Windows 10.
Pour les fenêtres ouvrez git bash et essayez
NODE_ENV=production node app.js