GNU/Linux >> Tutoriales Linux >  >> Linux

la actualización de npm rompió npm

Para aquellos que usaron Google para encontrar esto, pueden tener la tentación de instalar a través de curl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - y luego instalando con sudo apt install nodejs .

Sin embargo, de alguna manera me encontré con este problema independientemente. Tenga en cuenta que [email protected] eliminó el soporte para [email protected]<=4, y ese es un factor que contribuye aquí. Si quiere estar seguro de que todo está instalado en las versiones correctas y más recientes, le recomiendo que lo instale a través de nvm .

A través de las instrucciones de nvm en su GitHub:puede agregar el script de instalación con

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

Entonces puede comenzar a usar nvm. Es probable que deba reiniciar su terminal, así que después de la instalación, salga de la terminal, vuelva a iniciarla y verifique que nvm esté instalado con nvm --version .

Si todo va bien, puede instalar cualquier versión específica de nodo con npm a cuestas. La última versión estable de nodo al momento de escribir esto es 10.15.3, entonces

 nvm install 10.15.3

Y por supuesto, si necesitas ayuda, nvm --help tiene una lista de opciones.


Probablemente tengas instalado npm dos veces, uno está en /usr/local/bin y el otro en /usr/bin .

Primero, puede intentar eliminar el npm módulo que ha sido instalado al actualizar npm . Intenta ejecutar esto:

  • rm -r /usr/local/lib/node_modules/npm
  • /usr/bin/npm uninstall npm

Una vez que tenga una versión en ejecución de npm, instale una versión más reciente de node antes de actualizar npm. Luego, elimine la versión de su distribución de Linux.

Si la primera solución no funciona, otro enfoque es instalar una versión reciente de node (sin usar npm, por supuesto) :

curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodejs

(solución para centos... Supongo que también funcionaría en ubuntu):

para limpiar completamente mi máquina centos, también hice lo siguiente:mi usuario es "centos" y mi hogar es /home/centos:

sudo rm -rf /usr/local/bin/npm 
sudo rm -rf /usr/local/bin/npx
sudo rm -rf /usr/lib/node_modules/
sudo rm -rf /usr/bin/npm
sudo rm -r /usr/local/lib/node_modules/
sudo rm -rf /usr/local/bin/node
sudo rm -rf /usr/bin/npm
sudo rm -rf /usr/lib/node_modules/
rm -rf /home/centos/.npm/
rm -rf /home/centos/node*
rm -rf /home/centos/.node-gyp/
sudo rm -rf /root/.npm/
sudo rm /usr/bin/node
sudo rm -rf /usr/local/include/node

solo en este punto volví a instalar:

wget http://nodejs.org/dist/latest/node-v11.4.0-linux-x64.tar.gz
sudo tar --strip-components 1 -xzvf node-v* -C /usr/local

y las cosas están funcionando de nuevo:

node --version
v11.4.0
npm --version
6.4.1

Si está utilizando nvm para instalar npm y node, pruebe esta solución.

  1. Conozca dónde está exactamente el nodo utilizado actualmente y npm está instalado:

    which node

    En mi caso, fue /home/ubuntu/.nvm/versions/node/

  2. Ahora, elimine todas las versiones del nodo usando:

    sudo rm -rf /home/ubuntu/.nvm/versions/node/

  3. Ahora puede usar nvm para instalar la versión requerida de node y npm.

    nvm install 4.9.1


Linux
  1. ¿Ubuntu no arranca después de la actualización del kernel?

  2. ¿Actualizar Ubuntu 16.04.1 a 16.04.3?

  3. Actualice python en linux 2.7 a 3.5

  4. Sudo apt-get update falla en Ubuntu 17.04

  5. sudo-k frente a sudo-k

Comando Sudo en Linux

¿Qué hace sudo apt-get update?

Guía de instalación de Cortex

Instale Node.js 17 y NPM en Debian 11 Bullseye

Advertencia del actualizador de software:¿Requiere la instalación de paquetes que no son de confianza?

sudo agradable o sudo agradable?