Jak zainstalować najnowsze wersje NodeJS i NPM?


203

Zauważyłem na stronie https://nodejs.org/, że węzeł jest obecnie w wersji 0.12.0.

Czy ktoś może mi powiedzieć, jak zainstalować najnowszą wersję węzła razem z npm (proszę polecenia terminala)?


1
Co jest nie tak z sudo apt-get install nodejs?
AlikElzin-kilaka

20
^ instaluje 1.10.0.
siliconrockstar

6
@siliconrockstar, który faktycznie zainstalował v0.10.25 na moim 14.04 LTS
Alessandro Cosentino

1
W Ubuntu 16sudo apt-get install nodejs-legacy
briankip

Odpowiedzi:


253

Świeża instalacja

Użyj PPA NodeSource. Szczegółowe informacje można znaleźć w instrukcji instalacji . Najpierw wybierz potrzebną wersję Node.js i dodaj jej źródła:

v=8   # set to 4, 5, 6, ... as needed
curl -sL https://deb.nodesource.com/setup_$v.x | sudo -E bash -

Następnie zainstaluj pakiet Node.js.

sudo apt-get install -y nodejs

PS: curlpakiet musi być zainstalowany na serwerze dla tych linii kodu.

Aktualizacja

Jeśli nodejsjuż zainstalowałeś i chcesz zaktualizować, najpierw usuń bieżącą instalację i zainstaluj ją ponownie, używając powyższych skryptów.

sudo apt-get purge nodejs npm

1
NodeSource używa dwóch oddzielnych PPA: jeden dla wersji 0.10.X i dla 0.12.X. Ponadto zawiera ostatni pakiet npm.
23W,

11
nie działało dla mnie. Po uruchomieniu, curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -a następnie instalacji nodejsskończyłem zv0.10
Daithí

46
Zwinięcie się w skorupę korzenia jest tak złe na wiele sposobów.
Draco Ater,

8
Odpowiedź Gussa poniżej powinna być zaakceptowaną odpowiedzią. To nie jest zalecany sposób na zrobienie tego.
Patrick Fabrizius,

2
@AlexanderMills odpowiedź podana poniżej ( askubuntu.com/a/711976/389358 ) dostarczy ci najnowszą wersję nodejs z NodeSource - ten pakiet zawiera również najnowszą wersję npm.
Keefer Rourke

166

Ogólnie rzecz biorąc, ładowanie dowolnych danych z adresu URL do sesji powłoki root nie jest dobrym pomysłem i chciałbym, aby ludzie przestali sprzedawać je jako rozwiązanie dla wszystkiego - „Po prostu uruchom ten skrypt, który ci wysyłam, a także podczas gdy” na to - mam most, który prawdopodobnie byłbyś zainteresowany zakupem ".

Alternatywnie, oto „Sposób na Ubuntu”, aby zrobić to samo, gdzie możesz zobaczyć, jak system jest aktualizowany i dowiedzieć się, jakie repozytoria i jakie klucze są dodawane do konfiguracji systemu:

curl https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
sudo apt-add-repository "deb https://deb.nodesource.com/node_7.x $(lsb_release -sc) main"
sudo apt-get update
sudo apt-get install nodejs

Dotyczy to najnowszej (w momencie pisania) wersji 7 Nodejsa. Inne wersje można również pobrać za pomocą prostej zmiany adresu URL repo - szczegółowe informacje można znaleźć w dokumentacji nodesource.com.


2
Całkowicie zgadzam się z twoim stwierdzeniem, ale czy nie dodajesz nowego repozytorium do apt, tak samo jak uruchamianie nieznanego skryptu? (Chociaż rozumiem skrypt w każdej innej odpowiedzi tutaj, tak naprawdę sam dodaje to repozytorium)
Dan

19
Skrypt sam dodaje repozytorium, a także robi bóg wie co. Może to być teraz całkowicie łagodne, ale kto wie, co zrobią porywacze DNS lub osoby eksploatujące strony internetowe w przyszłości? Dodanie repo to nie to samo, co uruchomienie skryptu internetowego, ponieważ sam w sobie nie pobiera kodu wykonywalnego ani go nie uruchamia - zrobi to tylko w odpowiedzi na konkretną instalację apt-get, która potwierdzi, że pakiet został podpisany z kluczem nodesource - który, mam nadzieję, jest przechowywany znacznie bezpieczniej niż domena lub witryna nodesource. Bezpieczeństwo APT jest doskonałe i ma dobre osiągnięcia.
Guss

1
@ Dan, Wygląda na to, że używasz Ubuntu 15.04 (utopic), który nie jest obsługiwany przez Node Source, więc otrzymujesz 0.10 z repozytoriów utopic. Węzeł Źródło obsługuje tylko wersje LTS i najnowsze wersje inne niż LTS. Ponieważ nie korzystasz z wersji LTS, prawdopodobnie zaktualizujesz ją do najnowszej wersji, gdy pojawi się w październiku ubiegłego roku. Więc zrób to lub zhakuj, zmieniając $(lsb_release -c)bit autodetekcji wersji na jedną z obsługiwanych wersji i radząc sobie z konsekwencjami.
Guss

2
@PaulDraper: Zapytaj nodesource, to oni sprzedają mosty, których nie posiadają. Moje apt-getrozwiązanie to zwykły narkotyk.
Guss,

1
niesamowita odpowiedź! w przypadku, ktoś zastanawia się, to po prostu działa na nowszych wersjach - np: po prostu zastąpić 7 z 9
Mihai Rotaru


25

Jeśli chcesz zaktualizować wewnątrz npm, możesz użyć npolecenia:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable
sudo npm install npm@latest

Spowoduje to zainstalowanie pakietu n, którego można użyć do przełączania wersji NodeJS i z niego korzystać. Porównanie do alternatywnego NVM i opcji poleceń znajduje się w SO . Jest też post na blogu .



1
Jestem całkiem nowy w npm i nvm; Próbuję zainstalować npm w python virtualenv; czy to ważne, czy używam npm czy nvm? nvm install lts/carboninstaluje dla mnie npm i node. Czym różni się to od powyższych poleceń, które udostępniłeś?
kRazzy R

@kRazzyR: możesz wybrać, czy chcesz użyć, nvmczy nzaktualizować NodeJS i npm. W obu przypadkach używasz npmdo instalowania pakietów węzłów.
serv-inc


8

Aby zainstalować NPM,

sudo apt-get install npm

Następnie dla węzła

sudo npm cache clean -f
sudo npm install -g n
sudo n 0.xx.x  // here is the version what you want.. 

To polecenie zainstaluje węzeł na podstawie wybranej wersji.


8

NVM (menedżer wersji węzła)

https://github.com/creationix/nvm

NVM instaluje dla ciebie zarówno najnowszy stabilny węzeł, jak i npm

curl https://raw.githubusercontent.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh
nvm install --lts
nvm use --lts
npm --version

Teraz przetestuj z atrapą:

npm install --global vaca
vaca

Ponieważ pozyskiwanie musi być wykonane dla każdej nowej powłoki, włamania do skryptu instalacyjnego dodają pewne automatyczne pozyskiwanie na końcu twojego .barshrc. To działa, ale wolę usunąć automatycznie dodaną i dodać własną:

f="$HOME/.nvm/nvm.sh"
if [ -r "$f" ]; then
  . "$f" &>'/dev/null'
  nvm use --lts &>'/dev/null'
fi

Zalety:

  • pozwala na używanie wielu wersji Node i bez sudo

  • jest analogiczny do Ruby RVM i Python Virtualenv, powszechnie uważanej za najlepszą praktykę w społecznościach Ruby i Python

  • pobiera skompilowane pliki binarne, jeśli to możliwe, a jeśli nie, pobiera źródło i kompiluje je dla Ciebie

Możemy łatwo przełączać wersje węzłów za pomocą:

nvm install 0.9.0
nvm install 0.9.9
nvm use 0.9.0
node --version
#v0.9.0
nvm use 0.9.9
node --version
#v0.9.9

Następnie możesz użyć .nvmrcpliku śledzenia git , aby wskazać wersję węzła wymaganą dla danego projektu: https://stackoverflow.com/questions/24869959/how-do-i-specify-a-local-version-of-node-for -a-project / 54503474 # 54503474

Testowane w Ubuntu 17.10.


7

Dla wersji 5.x Zgodnie z PPA :

apt-get remove --purge nodejs npm
curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
apt-get install nodejs

4

Możesz bardzo łatwo zainstalować najnowszą wersję, korzystając z poniższej instrukcji.

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

Vesion 7.x to najnowsza wersja węzła.

sudo apt-get install nodejs

Powyżej linii zainstaluje nodejs.

sudo apt-get install build-essential

Spowoduje to zainstalowanie niezbędnych modułów, aby nodejs działał poprawnie.

Teraz sprawdź, czy nodejs zainstalował się poprawnie na twoim końcu

nodejs -v

Zwróci to zainstalowaną wersję nodejs.

npm -v

Zwróci to zainstalowaną wersję npm. Mam nadzieję, że to pomoże....

Źródło: link pokaże, jak zainstalować nodejs przy użyciu innych metod.


Po co instalować build-essential?
David Foerster

Pakiet nodejs zawiera plik binarny nodejs oraz npm. Jednak aby niektóre pakiety npm działały (na przykład te, które wymagają budowania ze źródła), musisz zainstalować pakiet niezbędny do kompilacji
Jitendra Pawar

4

Node.js jest dostępny jako pakiet przystawek we wszystkich obecnie obsługiwanych wersjach Ubuntu. W przypadku Node.js programiści mogą wybrać jedną z obecnie obsługiwanych wersji i otrzymywać regularne automatyczne aktualizacje bezpośrednio z NodeSource. Wersje 6, 8, 9, 10, 11 i 12 Node.js są obecnie dostępne, a Snap Store jest aktualizowany w ciągu kilku godzin lub minut od wydania Node.js.

Węzeł można zainstalować za pomocą jednego polecenia, na przykład:

sudo snap install node --classic --channel 11/stable 

Do przyciągania do węzła można uzyskać polecenie node, na przykład:

$ node -v  
v11.5.0

Zaktualizowana wersja npm zostanie zainstalowana jako część przystawki węzła. npm powinien być uruchamiany poza replikacją węzła, w normalnej powłoce. Po zainstalowaniu przystawki węzła uruchom następujące polecenie, aby włączyć sprawdzanie aktualizacji npm:

sudo chown -R $ USER: $ (id -gn $ USER) / home / twoja-nazwa użytkownika /.config

Zamień your-usernamepowyższe polecenie na własną nazwę użytkownika. Następnie uruchom, npm -vaby sprawdzić, czy wersja npm jest aktualna. Jako przykład sprawdziłem, czy npm jest aktualny, sprawdziłem wersję już zainstalowanego pakietu o nazwie przędza za pomocą polecenia, npm list yarna następnie zaktualizowałem istniejący pakiet przędzy do najnowszej wersji za pomocą polecenianpm update yarn

Użytkownicy mogą w dowolnym momencie przełączać się między wersjami Node.js bez konieczności angażowania dodatkowych narzędzi, takich jak nvm (Node Version Manager), na przykład:

sudo snap refresh node --channel=11/stable

Użytkownicy mogą testować najnowszą wersję Node.js, którą można zainstalować z najnowszego kanału brzegowego, który aktualnie śledzi Node.js w wersji 12, przełączając się za pomocą:

sudo snap switch node --edge

Takie podejście jest zalecane tylko tym użytkownikom, którzy są gotowi uczestniczyć w testowaniu i zgłaszaniu błędów na wcześniejszym etapie.

Node.js LTS Schedule

Zwolnij status LTS Nazwa kodowa LTS Rozpocznij konserwację Rozpocznij konserwację Zakończ
6.x Aktywny bor 2016-10-18 kwietnia 2018 kwietnia 2019
7.x Brak LTS              
8.x Active Carbon 2017-10-31 kwietnia 2019 grudnia 2019
9.x Brak LTS              
10.x Active Dubnium październik 2018 kwiecień 2020 kwiecień 2021  
11.x Brak LTS 2019-04-01 2019-06-30
12.x 2019-10-22 2021-04-01 2022-04-01
13.x Brak LTS 2020-04-20 2020-06-01


3

Tylko wydzielenie odpowiedzi przez @ 23W (odpowiedź zaakceptowana).

Jest to tylko zawartość skryptu, aby uniknąć zawijania się powłoki roota.

curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | sudo apt-key add -
echo "deb https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee /etc/apt/sources.list.d/nodesource.list
echo "deb-src https://deb.nodesource.com/node_6.x $(lsb_release -c -s) main" | sudo tee -a /etc/apt/sources.list.d/nodesource.list

sudo apt-get update
sudo apt-get install -y nodejs


2
//Download
cd ~/Downloads
wget https://nodejs.org/dist/v4.4.5/node-v4.4.5-linux-x64.tar.xz

//Install
cd /usr/local
tar --strip-components 1 -xJf ~/Downloads/node-v4.4.5-linux-x64.tar.xz

//Verify
node -v
npm version

Źródło


2

Moim ulubionym sposobem na zainstalowanie najnowszych nodejs i npm jest użycie archiwum plików binarnych instalacji dostępnych na stronie nodejs.

To może szybko stać się twoim nowym ulubionym sposobem. Działa jak marzenie. Obejmuje 1 pobranie i 1 polecenie. Gotowy. BEZ błędów [wielokrotnie to robiłem]. Nie musiałem wcześniej odinstalowywać istniejących rzeczy.

Instalowanie nodejs przez binaria


Najpierw usuń zainstalowaną wersję: (jeśli istnieje)

sudo apt-get remove nodejs

Pobieranie

https://nodejs.org/en/download/stable/

Pobierz pliki binarne systemu Linux.

  • Musiałem rozpakować plik tar.xz do folderu, a następnie ponownie skompresować jako plik tar.gz

zainstalować

sudo tar -C /usr/local --strip-components 1 -xzf /path/to/downloaded/tar/node-vYOURVERSION-linux-x64.tar.gz

Zweryfikować

node -v
npm --version

Źródło

http://www.thegeekstuff.com/2015/10/install-nodejs-npm-linux/


1
Po co ponownie kompresować jako tar.gz? tarwspiera --xz- i -C /usr/localpozwala tarzrobić to cdza Ciebie.
muru

2

Wyjaśnienie wideo


NVM jest bardzo prosty w instalacji i pozwala łatwo przełączać wersje węzłów. Z repozytorium github :

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

pobiera i uruchamia skrypt instalacyjny

nvm ls-remote

aby zobaczyć dostępne wersje. Powiedz, że chcesz zainstalować wersję 8.9.4

nvm install 8.9.4

i jesteś skończony.

Aby zainstalować inną wersję i użyć jej (powiedzmy 9.6.1)

nvm install 9.6.1
nvm alias default 9.6.1

1

Zaktualizuj menedżera pakietów

sudo apt-get update

Dodawanie PPA NodeJS

sudo apt-get install python-software-properties
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

Instalowanie NodeJS i NPM

sudo apt-get install nodejs

Tutaj napisałem pełny wpis na blogu na temat instalacji NodeJS i NPM w Ubuntu. Kliknij tutaj, aby przeczytać


Zwinięcie się w skorupę roota to naprawdę zła rzecz do zrobienia w związku z ogromną liczbą problemów związanych z bezpieczeństwem, które to otwierają, zalecam zaktualizowanie posta na blogu i odpowiedź, aby tego nie robić.
transfer87

1

Takie podejście pozwala łatwo usunąć Node.JS, zachować różne wersje i przekazać polecenia wszystkim użytkownikom systemu.

Pobrać stabilną wersję z node.js , rozpakować go i przenieść go do /opt.

Jeśli chcesz zainstalować różne wersje, możesz zmienić nazwę folderu zgodnie z jego kodem wersji:

/opt/node/6.9.1

Ponieważ tylko root może zmieniać pliki w /opt/, jeśli nie chcesz wywoływać invoke za sudokażdym razem, gdy musisz zmodyfikować plik, zmień uprawnienia grupy:

chgrp adm -R /opt/node/10.15.3

Następnie utwórz plik, /etc/profile.d/node.shjeśli następująca treść:

export NODE_HOME=/opt/node/10.15.3

export CPLUS_INCLUDE_PATH=${NODE_HOME}/include
export C_INCLUDE_PATH=${NODE_HOME}/include
export LD_LIBRARY_PATH=${NODE_HOME}/lib
export MANPATH=${NODE_HOME}/share/man:${MANPATH}

export PATH=${NODE_HOME}/bin:$PATH

Wyloguj się i zaloguj, a X-Window przeładuje wszystkie konfiguracje profili.

Jeśli masz zainstalowane poprzednie wersje, aby uniknąć konfliktów bibliotek, uruchom:

npm cache clean

-1

Aktualizowanie Menedżera pakietów

sudo apt-get update

Dodanie PPA

sudo apt-get install python-software-properties

curl -sL https://deb.nodesource.com/setup_7.x | sudo -E bash -

Instalowanie NodeJS i NPM

sudo apt-get install nodejs

Dla odniesienia: Instalowanie NodeJS w Ubuntu - WebCheerz

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.