Error de "No existe ese archivo o directorio" al usar npm

22

Instalé nodo y npm usando las instrucciones proporcionadas aquí

Pude usar el nodo con éxito. Sin embargo, cuando intento instalar el módulo de nodo "Formidable", aparece el siguiente error:

$npm install formidable
bash: /usr/local/bin/npm: /usr/local/bin/node: bad interpreter: No such file or directory

Cuando hago un which npm obtengo el siguiente resultado:

$which npm
/usr/local/bin/npm

No tengo idea de qué está mal con npm aquí, ¿alguna idea sobre cómo puedo solucionar esto?

    
pregunta user109187 03.02.2013 - 17:45

3 respuestas

37

Tomando la sugerencia de @gertvdijk, desinstalé NPM usando la secuencia de comandos:

rm -rf /usr/local/{lib/node{,/.npm,_modules},bin,share/man}/npm*

(que se puede encontrar aquí )

Incluso después de realizar lo anterior, recibí otro error:

$ npm install formidable  
bash: /usr/local/bin/npm: No such file or directory

Entonces, ejecuté hash -r en el terminal (según las instrucciones que se encuentran en NPM no se ejecutará después de la actualización ) y voila - funcionó. NPM ahora funciona!

    
respondido por el user109187 04.02.2013 - 15:28
11

Ubuntu y algunas distribuciones de Linux instalan el intérprete del nodo como /usr/bin/nodejs , y no /usr/local/bin/node .

Puedes resolver este problema instalando el paquete nodejs-legacy que crea un enlace simbólico de /usr/bin/nodejs a /usr/bin/node .

Solución:

sudo apt-get install nodejs-legacy

Referencias: paquete nodejs-legacy

    
respondido por el Pac 11.05.2014 - 15:49
2

Parece que instaló otra versión de Nodo desde la fuente hace un tiempo. Esto se indica mediante la ruta /usr/local/bin donde parece estar instalado ahora.

  1. Desinstale el que instaló desde el origen. Vea las instrucciones que recibieron con la fuente sobre cómo hacerlo. No hay una sola forma de cómo desinstalar los scripts de software instalados que no funcionan con la administración de paquetes de su sistema.
  2. Instale los paquetes con los que se enumeran en las instrucciones a las que se vinculó en su pregunta.
  3. Verifique que which npm ahora liste /usr/bin como ruta de instalación.

En general, nunca debería tener que instalar paquetes desde el origen. Y si lo hace, tenga en cuenta las consecuencias ya que está anulando la administración del paquete y se confundirá.

    
respondido por el gertvdijk 04.02.2013 - 15:12

Lea otras preguntas en las etiquetas