¿Cómo instalar paquetes npm en Ubuntu usando WSL2?

¿Cómo instalar paquetes npm en Ubuntu usando WSL2?

He instalado Ubuntu usando WSL2.

Ahora en el directorio de trabajo \\wsl$\Ubuntu\home\ponomarchukov\nodejsintento instalar paquetes npm:

npm install express

Entonces, aparece este error:

-bash: /mnt/c/Program Files/nodejs/npm: /bin/sh^M: bad interpreter: No such file or directory

¿Cómo solucionar este problema?

Respuesta1

El npmscript de shell que está utilizando tiene un retorno de carro (Ctrl-M, ASCII 13) al final. En sistemas Unix, especificar un retorno de carro en un script de shell es un error; sus líneas deben terminar solo con saltos de línea. Incluso si estás usando la versión bash que viene con Git para Windows, este también es el caso.

Deberías averiguar de dónde obtienes tu npmscript de shell y arreglarlo para que no contenga retornos de carro. Es posible que desees hacer esto con un programa como dos2unix. Si estás viendo esto porque lo comprobaste con Git, lee la gitattributespágina del manual para ver más sobre cómo configurar ciertos archivos para que siempre tengan finales de línea Unix ( eol=lf).

Respuesta2

¿Realmente ha iniciado WSL en la terminal que está utilizando? Además, ¿has instalado node/npm en Ubuntu? Parece que está usando npm desde la instalación de Windows. Puedo recomendarnvm, que tiene un script de instalación simple: este es un administrador de descargas para node y permite una fácil instalación/actualización de node/npm en Linux.

información relacionada