Pour une raison quelconque, après avoir installé Express globalement sur ma machine avec npm install -g express
si je suis cd
dans un répertoire et essayez d'exécuter express, j'obtiens l'erreur suivante:
express: command not found.
Même si je l'exécute avec, sudo
j'obtiens toujours le même résultat. J'ai essayé plusieurs solutions différentes à ce problème et rien n'a fonctionné. J'avais installé le nœud via homebrew
lequel certains threads sur Stack Overflow indiquaient qu'ils pouvaient poser un problème, j'ai donc complètement désinstallé le nœud et réinstallé via le programme d'installation sur nodejs.org (j'exécute maintenant la v0.10.26) et le problème persiste.
Si je vais dans mon /usr/local/lib/node_modules
Express est là-dedans mais dans / usr / local / bin il n'y a rien concernant Express. Je ne sais pas si c'est un problème ou non, mais étant donné qu'il existe des binaires pour d'autres packages de nœuds installés globalement dans ce répertoire, je pense qu'il y a peut-être quelque chose qui ne va pas.
C'est la sortie exacte que j'obtiens lorsque j'installe:
npm http GET https://registry.npmjs.org/express
npm http 304 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/accepts/1.0.0
npm http GET https://registry.npmjs.org/type-is/1.0.0
npm http GET https://registry.npmjs.org/range-parser/1.0.0
npm http GET https://registry.npmjs.org/cookie/0.1.0
npm http GET https://registry.npmjs.org/fresh/0.2.2
npm http GET https://registry.npmjs.org/buffer-crc32/0.2.1
npm http GET https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/methods/0.1.0
npm http GET https://registry.npmjs.org/cookie-signature/1.0.3
npm http GET https://registry.npmjs.org/utils-merge/1.0.0
npm http GET https://registry.npmjs.org/merge-descriptors/0.0.2
npm http GET https://registry.npmjs.org/escape-html/1.0.1
npm http GET https://registry.npmjs.org/serve-static/1.0.1
npm http GET https://registry.npmjs.org/qs/0.6.6
npm http GET https://registry.npmjs.org/path-to-regexp/0.1.2
npm http GET https://registry.npmjs.org/parseurl/1.0.1
npm http GET https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/cookie/0.1.0
npm http 304 https://registry.npmjs.org/type-is/1.0.0
npm http 304 https://registry.npmjs.org/buffer-crc32/0.2.1
npm http 304 https://registry.npmjs.org/methods/0.1.0
npm http 304 https://registry.npmjs.org/accepts/1.0.0
npm http 304 https://registry.npmjs.org/range-parser/1.0.0
npm http 304 https://registry.npmjs.org/cookie-signature/1.0.3
npm http 304 https://registry.npmjs.org/fresh/0.2.2
npm http 304 https://registry.npmjs.org/serve-static/1.0.1
npm http 304 https://registry.npmjs.org/qs/0.6.6
npm http 304 https://registry.npmjs.org/utils-merge/1.0.0
npm http 304 https://registry.npmjs.org/merge-descriptors/0.0.2
npm http 304 https://registry.npmjs.org/escape-html/1.0.1
npm http 304 https://registry.npmjs.org/path-to-regexp/0.1.2
npm http 304 https://registry.npmjs.org/parseurl/1.0.1
npm http 304 https://registry.npmjs.org/debug
npm http 304 https://registry.npmjs.org/send/0.2.0
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/mime
npm http GET https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/mime
npm http 304 https://registry.npmjs.org/send/0.1.4
npm http GET https://registry.npmjs.org/range-parser/0.0.4
npm http GET https://registry.npmjs.org/fresh/0.2.0
npm http 304 https://registry.npmjs.org/negotiator
npm http 304 https://registry.npmjs.org/range-parser/0.0.4
npm http 304 https://registry.npmjs.org/fresh/0.2.0
express@4.0.0 /usr/local/lib/node_modules/express
├── methods@0.1.0
├── parseurl@1.0.1
├── utils-merge@1.0.0
├── merge-descriptors@0.0.2
├── escape-html@1.0.1
├── debug@0.8.0
├── cookie-signature@1.0.3
├── range-parser@1.0.0
├── fresh@0.2.2
├── qs@0.6.6
├── buffer-crc32@0.2.1
├── cookie@0.1.0
├── path-to-regexp@0.1.2
├── type-is@1.0.0 (mime@1.2.11)
├── send@0.2.0 (mime@1.2.11)
├── serve-static@1.0.1 (send@0.1.4)
└── accepts@1.0.0 (negotiator@0.3.0, mime@1.2.11)
la source
Vous devez exécuter:
L'express original avec cli, maintenant le cli divisé en un paquet express-générateur séparé. Initialement généré par le projet exécute le nœud express app.js, car le code pertinent httpserver dans app.js, et maintenant cette partie du code vers le répertoire du projet
bin/www
ci-dessous, app.js ne conserve que le code logique de l'application, vous devez exécuter lebin/www
. Juste une application très simple et des changements de version de dépendance de package de raffinement.la source
J'avais ce défi pendant plusieurs jours. Après une recherche approfondie, j'ai appris qu'il faut lire toutes les ressources disponibles en particulier à partir de la source parent [dans ce cas EXPRESSJS.COM]. Voici une solution rapide.
À partir de la version 4.0+, vous n'avez pas nécessairement besoin d'installer express-generator si vous utilisez Node 8.2+. Exécutez simplement
Le générateur express fonctionnera exactement comme il s'exécute lorsque vous exécutez:
express
Pour plus de détails, voir Mise en route
Bonnes heures de lecture et de recherche.
la source
J'ai récemment essayé d'installer express-Generator, mais cela donnerait,
C'était après que je l'ai fait
Mais ensuite, j'ai vu le journal de la console de la commande d'installation npm
qui a donné un indice que l'exécutable express se trouve dans le dossier bin.
La solution est donc la suivante: ouvrez ~ / .zshrc ou ~ / .bashrc et exportez le chemin comme suit:
Ça fonctionne maintenant.
la source