GNU/Linux >> Znalost Linux >  >> Linux

Aktualizace npm se zlomila npm

Pro ty, kteří to našli pomocí google, můžete být v pokušení nainstalovat si přescurl -sL https://deb.nodesource.com/setup_10.x | sudo -E bash - a poté nainstalovat pomocí sudo apt install nodejs .

Nicméně bez ohledu na to jsem na tento problém nějak narazil. Mějte prosím na paměti, že [email protected] zrušil podporu pro [email protected]<=4, a to je faktor, který k tomu přispívá. Pokud chcete mít jistotu, že je vše nainstalováno v nejnovějších správných verzích, velmi vřele doporučuji instalaci přes nvm .

Prostřednictvím pokynů nvm na jejich GitHubu:Instalační skript můžete přidat pomocí

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

Poté můžete začít používat nvm. Pravděpodobně budete muset restartovat svůj terminál, takže po instalaci ukončete terminál, znovu jej spusťte a zkontrolujte, zda je nvm nainstalován s nvm --version .

Pokud vše půjde dobře, můžete nainstalovat jakoukoli konkrétní verzi uzlu s npm v závěsu. Poslední stabilní verze uzlu v době psaní tohoto článku je 10.15.3, takže

 nvm install 10.15.3

A samozřejmě, pokud potřebujete pomoc, nvm --help má seznam možností.


Pravděpodobně máte dvakrát nainstalovaný npm, jeden je v /usr/local/bin a druhý v /usr/bin .

Nejprve se můžete pokusit odstranit npm modul, který byl nainstalován aktualizací npm . Zkuste spustit toto:

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

Jakmile budete mít spuštěnou verzi npm, nainstalujte před upgradem npm novější verzi node. Poté odeberte verzi své linuxové distribuce.

Pokud první řešení nefunguje, jiným přístupem je instalace nejnovější verze uzlu (samozřejmě bez použití npm) :

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

(řešení pro centos....předpokládám, že by fungovalo i na ubuntu):

k úplnému vyčištění mého stroje centos jsem navíc provedl následující – můj uživatel je „centos“ a můj domov je /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

teprve v tomto okamžiku jsem znovu přeinstaloval:

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

a věci opět fungují:

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

Pokud k instalaci npm a node používáte nvm, vyzkoušejte toto řešení.

  1. Zjistěte, kde přesně je aktuálně používaný uzel a kde je nainstalován npm:

    which node

    V mém případě to bylo /home/ubuntu/.nvm/versions/node/

  2. Nyní odstraňte všechny verze uzlu pomocí:

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

  3. Nyní můžete použít nvm k instalaci požadované verze node a npm.

    nvm install 4.9.1


Linux
  1. Aktualizujte OpenSSL na Ubuntu

  2. sudo:npm:příkaz nenalezen

  3. Aktualizujte python na linuxu 2.7 až 3.5

  1. nelze nainstalovat node-sass, proto nelze nainstalovat gulp-sass

  2. Nainstalujte Qt na Ubuntu

  3. Ubuntu create-react-app se nezdaří s odepřeným oprávněním

  1. Aktualizovat Ubuntu 14.04 na 15.04?

  2. su - uživatel Vs sudo su - uživatel

  3. pěkné sudo nebo sudo pěkné?