¿Cómo arreglo Bash NPM no encontrado??

¿Cómo arreglo Bash NPM no encontrado??
Si estás trabajando con JavaScript y Node.JS, ya estás familiarizado con NPM. El término npm se refiere a dos cosas. Más sobre el nodo oficial.documentación de JS.
  • Un repositorio en línea para publicar nodo de código abierto.Proyectos JS.
  • Una utilidad de línea de comandos para administrar el nodo.paquetes JS, administrar versiones y dependencias.

Siempre que instale el nodo.JS, instala el npm Administrador de paquetes de forma predeterminada. Por alguna razón, sin embargo, puede enfrentar el problema de que Bash no reconoce NPM como un comando válido.

En esta guía de solución de problemas, echaremos un vistazo a los posibles pasos que puede tomar para solucionar el error. Estaré usando Ubuntu para la demostración. Sin embargo, los principios clave se aplicarán a cualquier otra distribución de Linux.

Bash: npm: comando no encontrado

Bash es el shell predeterminado en la mayoría de las distribuciones de Linux. Cuando ejecutamos un comando en la terminal, va a Bash. El comando se interpreta y ejecuta luego.

Sin embargo, si el comando está buscando una herramienta que Bash no reconozca, mostrará el error.

Como sugiere la salida, Bash no puede encontrar el comando "NPM" relacionado con cualquier alias o herramienta bash. Podemos deducir un par de escenarios posibles:

  • El NPM no está instalado.
  • JS no está instalado.
  • Valor de la ruta (o variable de entorno relacionada) cambiado.
  • Problemas de permiso.
  • Una versión antigua del nodo.JS fue instalado.

Nodo fresco.Instalación JS

Nuestra primera solución implica la reinstalación del nodo.JS y todos sus componentes desde cero. Una instalación o configuración dañada puede causar tal problema en muchos casos. Eliminaremos la instalación existente, configuraremos el nodo.JS Repo dedicado y hacer un nodo nuevo.Instalación JS.

Eliminar versiones más antiguas de nodo.js
Si tienes una versión antigua de nodo.JS instalado, luego se recomienda actualizar a la última versión estable (actual o LTS). El software antiguo a menudo está lleno de errores y vulnerabilidades. Una gran parte de los ataques cibernéticos ocurre porque el software antiguo no está actualizado/parcheado.

Primero, elimine el nodo.JS usando su Administrador de paquetes predeterminado. Para Ubuntu, APT es el Administrador de paquetes. Ejecute el siguiente comando para eliminar el nodo.JS y todos sus componentes:

$ sudo apt autoremove - -purego node npm nodo

A continuación, ejecute los siguientes comandos para eliminar cualquier residuo del sistema.

$ sudo rm -rf/usr/local/bin/npm
$ sudo rm -rf/usr/local/share/man/man1/nodo*
$ sudo rm -rf/usr/local/lib/dtrace/nodo.d
$ sudo rm -rf ~/.npm
$ sudo rm -rf ~/.nodo
$ sudo rm -rf/opt/local/bin/nodo
$ sudo rm -rf opt/local/include/nodo
$ sudo rm -rf/opt/local/lib/node_modules
$ sudo rm -rf/usr/local/lib/nodo*
$ sudo rm -rf/usr/local/include/nodo*
$ sudo rm -rf/usr/local/bin/nodo*

Instalación del último nodo.js
Nuestro objetivo principal es verificar que su sistema tenga la última versión de Node.JS instalado. Ya tenemos una guía en profundidad sobre la instalación del nodo.JS y NPM en Ubuntu.

En resumen, ejecute los siguientes comandos para establecer el nodo oficial.Repo de JS para Ubuntu. Al escribir este artículo, lo último actual la versión es nodo.JS V17.X, y la última versión LTS es V16.X. Según la recomendación del nodo.Sitio web oficial de JS, instalaremos la versión LTS:

$ curl -fssl https: // deb.nodource.com/setup_16.x | sudo -e Bash -

Ahora, instale el nodo.JS:

$ sudo apt instalación nodejs -y

Ahora, verifique si Bash ahora reconoce NPM como un comando adecuado.

Ayuda de $ npm

Si el proceso es exitoso, obtendrá la página de ayuda de NPM. De lo contrario, el problema persistirá.

Restablecer el valor de la ruta

La ruta es una variable de entorno importante en la que se basan muchas partes del sistema. Le dice al shell (y al sistema) dónde buscar ciertos programas. Cada vez que ejecutamos cualquier comando, el shell (bash, en la mayoría de los casos) busca el comando en las ubicaciones descritas por la ruta. Si no se encuentra, entonces no reconocerá el comando, incluso si la herramienta se instala correctamente.

Para obtener más información sobre la variable de ruta, consulte esta guía sobre cómo cambiar la ruta en Linux.

Para ver el valor de la variable de ruta, ejecute el siguiente comando:

$ echo $ ruta

Alternativamente, puede usar el siguiente comando SED para imprimir la salida de ruta. Pondrá cada entrada única en una nueva línea.

$ sed 's/:/\ n/g' <<< "$PATH"

¿Hay alguna inconsistencia en la variable de ruta?? Habrá múltiples rutas enumeradas en la variable de ruta en la mayoría de los casos. Intente configurar la variable de ruta en su estado predeterminado.

$ exportación ruta = $ (ruta getConf)

Después de arreglar la variable de ruta, verifique si Bash puede encontrar npm ahora.

Ayuda de $ npm

Si solucionó el problema, considere establecer manualmente la variable de ruta utilizando el archivo BASHRC. Obtenga más información sobre la exportación de la ruta en BASHRC. En resumen, agregue las siguientes líneas al archivo BASHRC.

$ exportación ruta = $ (ruta getConf)
$ exportación ruta: $ ruta:/usr/local/sbin:/usr/local/bin:/usr/sbin:/sbin

Aquí,

  • La primera línea establece el valor de la ruta a su valor predeterminado.
  • La segunda línea agrega algunas ubicaciones adicionales para buscar binarios. Es opcional pero recomendado para la mayoría de las distribuciones.

Verifique si la actualización fue exitosa.

$ echo $ ruta

Si está utilizando una versión portátil de nodo.JS, también debe asegurarse de que la ubicación binaria también esté incluida en la variable de ruta. De lo contrario, Bash no reconocerá al binario.

Pensamientos finales

Esta guía de solución de problemas demostró algunas soluciones para solucionar el problema donde Bash no puede encontrar el npm binario. Tenga en cuenta que estos pasos son para la resolución general de problemas. Si su problema persiste después de seguirlos, debe buscar ayuda experta. Hay comunidades masivas como stackexchange que pueden ayudarlo con su situación.

Computación feliz!