Normalną instalacją byłoby sudo apt install nodejs
zainstalowanie Node.js, a następnie sudo apt install npm
zainstalowanie Node Package Manager. Jednak po zrobieniu tego, npm -v
mówi 3.5.2
. Aby przeprowadzić normalną aktualizację, zrobiłbym to sudo npm install -g npm
, która aktualizacja do najnowszej wersji (która jest w momencie pisania tego artykułu 6.0.1
).
Kiedy to zrobię which npm
, dostaję /usr/local/bin/npm
jednak apt
instaluje dowiązanie symboliczne na /usr/bin/npm
. Jeśli sudo apt purge npm
jednak usunę npm, nadal pozostawia wersję npm na /usr/local/bin/npm
, jak npm -v
mówi -bash: /usr/bin/npm: No such file or directory
.
Wiele artykułów mówi o używaniu PPA do instalowania nodejs, ale myślę, że powinien istnieć natywny sposób, aby to zrobić apt
.
Instrukcje DigitalOcean dotyczące instalacji normalnie i za pośrednictwem PPA: https://www.digitalocean.com/community/tutorials/how-to-install-node-js-on-ubuntu-18-04
Instrukcje TecAdmin dotyczące instalacji za pośrednictwem PPA: https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/
npm
zapisany w/usr/bin/npm
? Dlaczego wybrana jest odpowiednia wersja po wyczyszczeniu pamięci podręcznej bash, jeśli obie wersje pozostają zainstalowane?Znalazłem sposób, aby wyczyścić npm
sudo apt purge npm
, a następnie po prostu odtworzyć dowiązanie symboliczne do instalacji globalnej za pośrednictwemln -s /usr/local/bin/npm /usr/bin/npm
. Po tej poprawcenpm -v
zwraca6.0.1
zgodnie z oczekiwaniami.źródło
/usr/bin/npm
, więc wybrałem inną drogęln -s /usr/bin/npm /usr/local/bin/npm
. Dziwne, ale twoja odpowiedź pomogła mi dowiedzieć się, jak rozwiązać problem z nieprawidłową wersją.Aby mieć kontrolę nad zainstalowaną wersją npm, zawsze używam
nvm
(kontrola wersji węzła). Możesz zainstalować go za pomocą instrukcji tutaj: https://github.com/creationix/nvm Następnie, wykonując polecenie, zainstaluj najnowszą wersję npm na swoim komputerze:nvm install node
źródło