GNU/Linux >> Linux Esercitazione >  >> Linux

l'aggiornamento di npm ha rotto npm

Coloro che hanno usato google per trovarlo, potrebbero essere tentati di installarlo tramitecurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - e poi l'installazione con sudo apt install nodejs .

Tuttavia, in qualche modo mi sono imbattuto in questo problema a prescindere. Tieni presente che [email protected] ha abbandonato il supporto per [email protected]<=4, e questo è un fattore determinante. Se vuoi essere sicuro che tutto sia installato all'ultima versione corretta, ti consiglio vivamente di installare tramite nvm .

Tramite le istruzioni nvm sul loro GitHub:puoi aggiungere lo script di installazione con

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

Quindi puoi iniziare a utilizzare nvm. Probabilmente dovrai riavviare il tuo terminale, quindi dopo l'installazione, esci dal terminale, riavvialo e controlla che nvm sia installato con nvm --version .

Se tutto va bene, puoi installare qualsiasi versione specifica di node con npm al seguito. L'ultima versione stabile di node al momento della scrittura è la 10.15.3, quindi

 nvm install 10.15.3

E naturalmente, se hai bisogno di aiuto, nvm --help ha un elenco di opzioni.


Probabilmente hai npm installato due volte, uno è in /usr/local/bin e l'altro in /usr/bin .

Innanzitutto, puoi provare a rimuovere il npm modulo che è stato installato aggiornando npm . Prova a eseguire questo:

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

Una volta che hai una versione in esecuzione di npm, installa una versione più recente di node prima di aggiornare npm. Quindi, rimuovi la versione della tua distribuzione Linux.

Se la prima soluzione non funziona, un altro approccio è installare una versione recente di node (senza usare npm ovviamente) :

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

(soluzione per centos....presumo che funzionerebbe anche su Ubuntu):

per ripulire completamente la mia macchina centos, ho anche fatto quanto segue:il mio utente è "centos" e la mia casa è /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 a questo punto ho reinstallato di nuovo:

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

e le cose stanno funzionando di nuovo:

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

Se stai usando nvm per installare npm e node, prova questa soluzione.

  1. Scopri dove si trova esattamente il nodo attualmente utilizzato e dove è installato npm:

    which node

    Nel mio caso, era /home/ubuntu/.nvm/versions/node/

  2. Ora, elimina tutte le versioni di node utilizzando:

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

  3. Ora puoi utilizzare nvm per installare la versione richiesta di node e npm.

    nvm install 4.9.1


Linux
  1. Aggiorna Ubuntu 14.04 a 15.04?

  2. Aggiorna OpenSSL su Ubuntu

  3. Aggiorna Python su Linux da 2.7 a 3.5

  4. sudo apt-get update fallisce su Ubuntu 17.04

  5. su - utente Vs sudo su - utente

Comando Sudo in Linux

Cosa fa sudo apt-get update

Guida all'installazione di Cortex

Installa Node.js 17 e NPM su Debian 11 Bullseye

Avviso di aggiornamento software:richiede l'installazione di pacchetti non attendibili?

bello sudo o sudo bello?