node.js - proyecto - node js desde cero
Comando Express no encontrado (2)
Con el lanzamiento de Express 4.0.0 parece que necesitas hacer sudo npm install -g express-generator
.
Por alguna razón, después de instalar Express globalmente en mi máquina con npm install -g express
si npm install -g express
en un directorio e intento ejecutar Express, npm install -g express
el siguiente error:
express: command not found.
Incluso si lo ejecuto con sudo
todavía obtengo el mismo resultado. He intentado varias soluciones diferentes a este problema y nada ha funcionado. Yo había instalado un nodo a través de homebrew
que algunos subprocesos en Stack Overflow indicaban que podría haber sido un problema, así que desinstalé completamente el nodo y volví a instalarlo a través del instalador en nodejs.org (ahora estoy ejecutando v0.10.26) y el problema persiste.
Si entro en mis /usr/local/lib/node_modules
Express está ahí pero dentro de / usr / local / bin no hay nada con respecto a Express. No estoy seguro de si eso es un problema o no, pero considerando que hay binarios para otros paquetes de nodo instalados globalmente en ese directorio, estoy pensando que puede haber algo mal allí.
Este es el resultado exacto que obtengo cuando instalo:
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
[email protected] /usr/local/lib/node_modules/express
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
└── [email protected] ([email protected], [email protected])
Necesita ejecutar:
npm install -gd express-generator
El expreso original con cli, ahora el cli se divide en un paquete de generador expreso separado. Originalmente generado por el proyecto se ejecuta el nodo express app.js, porque el código httpserver relevante en app.js, y ahora esta parte del código en el directorio del proyecto bin/www
continuación, app.js solo conserva el código lógico de la aplicación, necesita ejecutar el bin/www
. Solo una aplicación muy simple y una versión de dependencia del paquete de refinamiento cambia.