Je suis nouveau dans les deux Node JS et express, et je viens d'installer npm dans Windows 7.
J'ai installé express en utilisant le drapeau global:
npm install -g express
Cela installe avec succès express dans C:\Users\USER_NAME\AppData\Roaming\npm\node_modules\express
, et ajoute C:\Users\USER_NAME\AppData\Roaming\npm
à mon chemin.
Cependant, l'utilisation d'express dans la ligne de commande échoue. Toute commande commençant par express me dit qu'elle ne peut pas trouver la commande à exécuter:
'express' is not recognized as an internal or external command,
operable program or batch file.
En regardant dans le dossier d'installation, je ne trouve pas non plus de fichier exécutable (un .exe ou un .cmd). La recherche sur les questions passées montre que le dossier node_modules (au moins dans les versions antérieures) devrait contenir à la fois un dossier express (que j'ai) et un .bin
dossier, qui contient express.cmd
. Je ne semble pas avoir le .bin
dossier.
npm --version
me donne 1.4.. La version express semble être .0.
J'ai également essayé de l'installer localement et j'ai essayé d'exécuter npm cache clean
et réinstaller. Aucune des deux méthodes ne change la situation: il n'y a rien d'exécutable dans le dossier node_modules.
Suis-je en train d'installer express incorrectement? Si oui, pourquoi ne comprend-il pas un fichier exécutable?
J'ai rencontré le même problème sous Windows 8.1. Le fichier express.cmd n'est pas créé, mais j'ai trouvé le fichier texte:
C:\Users\you\AppData\Roaming\npm\node_modules\express\Readme.md
Il suggère d'exécuter ceci:
npm install -g express-generator@3
Qui va télécharger plus de choses.
Après cela, vous pouvez utiliser express sur l'invite de commande windows. Ce sera dans votre chemin (C:\Users\you\AppData\Roaming\npm)
Modifier:
express-generator@3
est maintenant mis à jour vers express-generator@4
, utilisez-le à la place,
npm install -g express-generator@4
La réponse n'est pas complète, car les modules sont installés dans C:\Users\you\AppData\Roaming\npm
comme indiqué ci-dessus, et vous ne pouvez pas toujours accéder à un module sans, 1) le lier à votre projet actuel ou 2) définir explicitement le NODE_PATH
variable système pointant votre nœud au bon endroit dans le système.
Première méthode,
Après avoir installé le module (express
dans notre cas), vous pouvez le lier à votre projet actuel en accédant à votre répertoire de projet actuel en utilisant cmd et en exécutant la commande ci-dessous,
npm link express
Vous obtiendrez un message comme celui-ci s'il est correctement lié,
D:\Project\node_modules\express -> C:\Users\Sufiyan\AppData\Roaming\npm\node_modules\express
(vous ne pouvez pas lier des répertoires sans exécuter cmd avec des privilèges d'administrateur)
La deuxième option consiste à créer ou à mettre à jour la variable système NODE_PATH pointant votre nœud au bon endroit dans le système. Lisez ceci pour plus de détails.
Lisez également cette documentation officielle Node.js concernant le problème,
http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/
Voici tout ce que vous devez faire:
C:\node> npm install -g express-generator
Vous pouvez trouver cela et bien plus encore sur ce tutoriel de démarrage détaillé .
Pour résoudre ce problème, vous devez utiliser:
npm install -g express-generator @ 3
Il a été mis à jour à partir de la commande précédente:
npm install -g express
Sachez simplement que la version renvoyée par la commande express --version sera la version de express-generator, pas express.
Exécutez cmd en tant qu'administrateur. Il a résolu le problème "express" introuvable dans mon cas
npm link express
pour lier express de n'importe quel répertoire à votre répertoire de projet où se trouvait le nœud, par défaut lorsque vous exécutez npm install express
il serait installé dans C:\Users\****\AppData\Roaming\npm\node_modules\express
, pour que vous n'ayez pas à installer à chaque fois les frameworks express et autres requis dans votre répertoire de projet, vous pouvez plutôt pointer vers votre nœud, c'est-à-dire où vous avez votre application.
J'ai eu ce problème, il semble que nous utilisons -g, il est ignoré.
Je viens de copier le contenu de MyProject/source/vendor
à C:\Users\username\AppData\Roaming\npm
Copiez uniquement les dossiers nécessaires dans node_modules (comme: express, express-generator, bower, yo, gulp et les packages qui devraient être dans PATH).
Ce problème dérange vraiment tout le monde (ou les utilisateurs de Windows?), Les programmeurs npm devraient le résoudre!