working run proyecto not node handlebars crear app node.js ubuntu fedora

node.js - run - Express.js: No dicho archivo o directorio



node js run express app (5)

Instalé el nodo con apt-get install nodejs . Luego instalé npm con apt-get install npm . Ahora cuando trato de ejecutar express consigo

$ express /usr/bin/env: node: No such file or directory

¿Cómo resuelvo este error?


En mi caso fue porque en mi PATH entorno PATH , tuve "~ / progs / node / bin /" y el "~" no parece ser resuelto por env ... reemplazándolo con la ruta real completa ("/ home / myuser / node / bin ") resolvió mi problema.


Esta solución

export PATH="$HOME/opt/nodejs/bin:$PATH"

resolvió este problema para mí (debería funcionar suponiendo que la variable $ HOME esté configurada correctamente). También me permite evitar la codificación difícil de la ruta a mi directorio de inicio (por ejemplo, así puedo reutilizar mi .bash_profile con diferentes cuentas / servidores si es necesario)


Hay dos paquetes en Ubuntu que tienen nombres similares, node y nodejs .

node hace esto,

Description-en: Programa Amateur Packet Radio Node. El programa de nodo acepta TCP / IP y conexiones de red de paquetes de radio y presenta a los usuarios una interfaz que les permite establecer conexiones de puerta de enlace a hosts remotos utilizando una variedad de protocolos de radioaficionados.

nodejs hace esto,

Description-es: Node.js, el motor de javascript basado en eventos de Node.js es similar en diseño e influenciado por sistemas como Ruby''s Event Machine o Python''s Twisted. Lleva el modelo de eventos un poco más allá: presenta el bucle de eventos como una construcción de lenguaje en lugar de una biblioteca. Node.js se incluye con varias bibliotecas útiles para manejar tareas del servidor: Sistema, Eventos, E / S estándar, Módulos, Temporizadores, Procesos secundarios, POSIX, HTTP, Análisis de partes múltiples, TCP, DNS, Assert, Ruta, URL, Cadenas de consulta.

Fedora también sigue un esquema de nombres de paquete similar. Debido a esto, el binario en nodejs tuvo que ser renombrado como nodejs del node original. Sin embargo, esto no es técnicamente kosher: y la mayoría de los programas nodejs (y las bibliotecas instaladas con npm) suponen que el nodo binario es un node . Si quieres evitar esto, la manera más fácil es unir las dos cosas. Si toma esta ruta, no instale el paquete de node que maneja las cosas de Amateur Packet Radio.

sudo ln -s /usr/bin/nodejs /usr/local/bin/node

Alternativamente, en el caso de un nodo, sugiero usar n y no instalar el node . Simplemente instale npm (que instalará el nodo), luego elimine npm, luego diga apt para que lo limpie. Para hacer esto, simplemente ejecuta

sudo apt-get install npm sudo npm install -g n sudo n latest sudo apt-get --purge remove npm sudo apt-get autoremove

Hay otros administradores binarios de distribución que incluso trabajan desde un script de shell como nvm pero yo personalmente prefiero n . Piense en n como un apt para una sola cosa: el nodo binario que instala en /usr/local/bin .

¿Por qué están eliminando npm? No eran. apt-get --purge remove solo puede eliminar cosas instaladas por el administrador de paquetes. n latest obras fuera del administrador de paquetes. Hay dos npms si haces esto,

  1. versión instalada por la distribución (Debian / Ubuntu) usando apt-get .
  2. versión instalada por n latest .

No tiene sentido tener la versión anterior de la distribución. Y, lo que es peor, si esa versión funciona, puede potencialmente instalarse en una ubicación diferente y tener modificaciones de Debian que asuman los directorios de instalación de Debian. Es mejor utilizar cualquiera de los dos, pero no ambos.


debe instalar el paquete nodejs-legacy que tiene un enlace de / usr / bin / node a / usr / bin / nodejs

$ sudo apt-get install nodejs-legacy


haz esto en cmd

sudo apt-get install nodejs-legacy chmod your folder 700 (optional)