2011-05-23 11 views
25

acaba de instalar nueva máquina virtual ubuntu para probar un poco con el nodo que se han instalado en este orden:orden expresa que no se encuentra en bash después de instalarlo con NPM

node 
mongodb-server 
npm 
express 
mongoose 

ahora, tratando de crear una nueva aplicación Me di cuenta expreso no puede ser utilizado en el caparazón. express -v vuelve expresa: comando no encontrado

i instalado NPM como esto

curl http://npmjs.org/install.sh | sudo sh 

y me instalado expresar de esta manera

npm install express 

alguna idea?

+2

MNP instalar -g expresar-generador, y cd miaplicacion && NPM instalar, http://expressjs.com/guide.html – miukki

Respuesta

39

npm install express -g

Necesita instalar de forma global.

Npm 1.0 instala módulos localmente de forma predeterminada. Entonces el ejecutable bash vive en /node_modules/bin/. Puede añadir esa carpeta a PATH o simplemente puede instalar express a nivel mundial para que quede recogido por PATH

+2

También puede ejecutar secuencias de comandos a través de NPM mediante la adición de un "scripts "objetar a su package.json, and doing," $ npm run-script scriptname ". NPM agrega los diversos directorios bin en el repositorio de paquetes local a la ruta de acceso antes de ejecutar el script: –

+1

+1 para agregar el objeto de scripts a package.json y usar 'npm run-script scriptname' - esto mantiene su espacio global libre y le permite para probar con mayor precisión su entorno de producción cuando está en desarrollo – Gilman

2

EDITAR 06/29/2017: esta respuesta es 6+ años, pero todavía se pone votos/tráfico. En cambio (para cualquier usuario nuevo con problemas) Confío tanto en NODE_PATH official doc como en su corresponding bit about REPL usage antes de esta respuesta.

Muy similar a este problema, el nodo no encontró mi instalación rápida global, por lo que una instrucción require('express') fallaría.

Lo que solucionó esto por mí, cuando una instalación global no se recogía por nodo era asegurarse de que NODE_PATHenv. variable estuviera configurado correctamente. En Ubuntu 11.04, con la versión 0.5.0-nodo previo, los caminos me fueron:

NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node 

Por lo tanto, para aclarar es posible que desee exportar el env anteriormente. variables, o simplemente puede poner a prueba los valores anteriores a cabo haciendo:

NODE_PATH=/usr/local/lib/node_modules:/usr/local/lib/node node ./you_app.js 
0

si está ejecutando ventanas:

export NODE_PATH="C:\Users\IMarek\AppData\Roaming\npm\node_modules" 
+0

Windows no tiene 'export' Si te refieres a cygwin o mingw o algo así, probablemente debas hacerlo explícito. – hippietrail

6

tuve este problema y era la instalación de nodo a través de Homebrew. El problema fue causado por Homebrew.

Así que lo hice:

brew uninstall node 

y luego nodo instalado utilizando el instalador en el sitio nodejs.org.

Entonces me encontré:

npm install -g express 

y listo sin problemas.

+0

¡Tuve el mismo problema y la sugerencia funcionó perfectamente! –

82

A partir del expreso 4.00 también es necesario instalar el generador expreso con:

npm install -g express-generator 

¡Solo después de esto podrá ejecutar el comando express!

Para la confirmación, véase: ExpressJS.com - Migrating to Express 4

+5

¡Finalmente! Esto debería ser aceptado como una buena respuesta a partir de ahora. Incluso tuve express en mi variable PATH y nada funcionaba. Gracias @Fazi. – Tommz

+0

Es cierto, esta es la única forma – Mirko

+0

¿Tiene alguna idea de por qué esto simplemente no funcionaría para mí? Ejecuto sudo npm install -g express-generator y se instala en usr/bin pero no puedo usar express. Escribo "prueba expresa" y no pasa nada. Simplemente vuelve a la siguiente línea. – michaelAdam

2

Con el lanzamiento de expreso 4.0.0 parece que tenga que hacer sudo npm install -g express-generator.

+0

Aunque es correcta, ¿cómo es esta respuesta diferente de la respuesta dada por Fazi? http://stackoverflow.com/a/23266782/617937 – IQAndreas

+0

en realidad esta es la mejor respuesta. – g07kore

0

que tenía que hacer una combinación de cosas:

1) de node.js modules path:

echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile 

Esto establece la ruta del archivo en bash perfil (se puede ver con nano .bash_profile

2) ligeramente modificado a partir de Raynos (arriba) ya que necesitaba sudo:

sudo npm install express -g 

3) ligeramente modificado a partir de Fazi (above0 ya que necesitaba sudo:

sudo npm install -g express-generator 

probar la aplicación: plazo DEBUG=myapp:* npm start

Ref: http://expressjs.com/en/starter/generator.html

Cuestiones relacionadas