Jak mogę zaktualizować mój nodeJS do najnowszej wersji?

625

Zainstalowałem nodeJS na Ubuntu z następującym kodem

sudo apt-get install nodejs

Ponieważ jestem nowym użytkownikiem Ubuntu, również uruchomiłem ten kod

sudo apt-get install npm

Teraz kiedy piszę

 nodejs --version

To pokazuje

v0.6.19

Sprawdziłem i zobaczyłem najnowszą wersję nodeJS 0.10.26

Jak mogę zaktualizować moją wersję nodeJS do 0.10.26?

Próbowałem z

 sudo apt-get install <packagename>
 sudo apt-get install --only-upgrade <packagename>

ale bez powodzenia.

Kanishka Panamaldeniya
źródło
2
Lepiej jest użyć nvm do zainstalowania nodejs. To skrót od „Node Version Manager”. Możesz bardzo łatwo zainstalować wiele wersji nodejs, przełączać się między nimi i ustawiać domyślne.
Mina Michael,

Odpowiedzi:

1107

Użyj n modułu z npm , aby zaktualizować węzeł

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

Aby zaktualizować do najnowszej wersji (i nie bieżącej stabilnej), możesz użyć

sudo n latest

Cofnąć:

sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node
sudo n rm 6.0.0     # replace number with version of Node that was installed
sudo npm uninstall -g n

Znalezione w blogu Davida Walsha http://davidwalsh.name/upgrade-nodejs

eballeste
źródło
11
to powinna być poprawna odpowiedź. nto pakiet pomocnika węzła, który instaluje lub aktualizuje daną wersję node.js.
Martin
40
Odradzam robienie tego na instancji produkcyjnej. Może poważnie zepsuć twoje globalne pakiety npm i twoją zdolność do instalowania nowych.
Loourr,
12
ale nadal nodejs
wersja
14
Nie działa - po wykonaniu tych kroków node -vnadal dał mi wersję 6, a nie 10.
Tomáš Zato
368

Od tego czasu Nodesource przesłał tutaj pełne instrukcje instalacji . Został on skopiowany poniżej w celach informacyjnych. Instrukcje dotyczące aktualizacji do najnowszej wersji są takie same.

Node.js v12.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 6.x na starszych dystrybucjach

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_12.x | bash -
apt-get install -y nodejs

Node.js v11.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 6.x na starszych dystrybucjach

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y nodejs

Node.js v10.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 6.x na starszych dystrybucjach

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Node.js v9.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 6.x na starszych dystrybucjach

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_9.x | bash -
apt-get install -y nodejs

Node.js v8.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 6.x na starszych dystrybucjach

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_8.x | bash -
apt-get install -y nodejs

Node.js v7.x :

UWAGA: Pakiety Debian Wheezy i Ubuntu Precise NIE są dostępne dla tej wersji. Proszę odwołać działa node.js> = 4.x na starszych dystrybucjach

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_7.x | bash -
apt-get install -y nodejs

Node.js v6.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 4.x na starszych dystrybucjach .

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_6.x | bash -
apt-get install -y nodejs

Node.js v5.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 4.x na starszych dystrybucjach .

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_5.x | bash -
apt-get install -y nodejs

Node.js v4.x :

UWAGA: Jeśli używasz Ubuntu Precise lub Debian Wheezy, możesz przeczytać o uruchamianiu Node.js> = 4.x na starszych dystrybucjach .

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

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_4.x | bash -
apt-get install -y nodejs

Node.js v0.12 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.12 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.12 | bash -
apt-get install -y nodejs

Node.js v0.10 :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_0.10 | sudo -E bash -
sudo apt-get install -y nodejs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_0.10 | bash -
apt-get install -y nodejs

io.js v3.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_3.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_3.x | bash -
apt-get install -y iojs

io.js v2.x :

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_2.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_2.x | bash -
apt-get install -y iojs

io.js v1.x :

Uwaga: ta gałąź io.js nie jest aktywnie utrzymywana i nie jest zalecana do użytku produkcyjnego.

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_iojs_1.x | sudo -E bash -
sudo apt-get install -y iojs

# Using Debian, as root
curl -sL https://deb.nodesource.com/setup_iojs_1.x | bash -
apt-get install -y iojs
dayuloli
źródło
Radzę albo usunąć nieaktualne informacje, albo przenieść je na dół pytania, aby najpierw przeczytać bieżące informacje.
k0pernikus
2
To była odpowiedź, która zadziałała dla mnie!
eri0o
1
Dla wszystkich zdezorientowanych idiotów, takich jak ja, wydaje się, że uruchomienie instalacji skutecznie zastąpi to, co kiedykolwiek miałeś wcześniej. Myślę więc, że możesz wykonać aktualizację lub obniżenie wersji za pomocą tego procesu. Uaktualniłem z wersji 8 do wersji 10 i zauważyłem ten komunikat w dziennikach instalacji: po Unpacking nodejs (10.15.0-1nodesource1) over (8.12.0-1nodesource1) ...uruchomieniu node -vinstalacji wyświetla się v10.15.0to, czego chcę.
icc97
2
curl {anything} | sudo bash -to straszna praktyka bezpieczeństwa
krubo
1
@krubo Zgadzam się. Użytkownik powinien sprawdzić skrypt przed jego uruchomieniem. Jednak pochodzi z renomowanego źródła ( nodesource.com), a połączenie jest zabezpieczone przez HTTPS, więc istnieje wystarczające zaufanie do tych skryptów. Ale tak, ogólnie, sprawdź skrypty, zanim je sudo bash
potokujesz
28

Ta umowa PPA jest nieaktualna i nie jest już utrzymywana; powinieneś rozważyć inne odpowiedzi zamiast tej.

Możesz zainstalować najnowszą wersję z PPA:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs
Walid Saad
źródło
13
Myślę, że byłaby to lepsza odpowiedź, gdybyś (również) podał sposób, w jaki nie jest to możliwe, ppas są znane z tego, że stają się przestarzałe i nieobsługiwane, co zasadniczo czyni tę odpowiedź bezużyteczną.
pzkpfw
@ bigbadonk420 tak, jeśli go po prostu przejrzałeś, prawdopodobnie lepiej pominąć pierwszą linię i po prostu zaktualizować i zainstalować - działał dla mnie z węzłem 0.10.34
Capaj,
@Capaj nie. to nie pomogło ...
deostroll
6
Nie zalecaj już używania tego ppa, wydaje się, że jest raczej przestarzały.
Kzqai,
19

Używam NVM do obsługi moich wersji Węzłów. Bardzo prosty w konfiguracji i łatwy w użyciu.

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

Aby zamiast tego zainstalować globalnie NVM, użyj następującego polecenia curl zamiast powyższego (i prawdopodobnie nie używaj drugiego polecenia, ale używaj trzeciego)

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | NVM_DIR=/usr/local/nvm bash

Następnie użyj nvm install stable(lub wstaw numer wersji zamiast stable), aby uzyskać najnowszą / określoną wersję Węzła. Użyj nvm use stable(lub określonego numeru wersji), aby użyć tej wersji Węzła. Użyj, nvm lsaby zobaczyć, jakie wersje Węzła zostały zainstalowane i nvm uninstall stable(lub określony numer wersji), aby usunąć określoną wersję Węzła.

Źródła: instalacja , użytkowanie

amna
źródło
Chociaż teoretycznie może to odpowiedzieć na pytanie, lepiej byłoby zawrzeć tutaj istotne części odpowiedzi i podać odnośnik.
Warren Hill,
Przepraszam za moją noobness. Zaktualizowana odpowiedź
amna
podana ścieżka zawijania nie działa. Użyłem „curl raw.githubusercontent.com/creationix/nvm/v0.13.1/install.sh | bash” jak podano w github.com/creationix/nvm
Senthil
Nie zapomnij zaktualizować części
adresu
16

Polecam również zamiast tego użycie nvm, a także usunięcie już zainstalowanej wersji, aby uniknąć konfliktów w terminalu

sudo apt purge nodejs npm

następnie zainstaluj NVM i użyj go

Wyjaśnienie wideo

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

aby pobrać i zainstalować NVM

nvm install node

powinien pobrać i zainstalować najnowszą wersję węzła.

Aby później zaktualizować węzeł, po prostu zrób

nvm install node
nvm alias default node
Mina Michael
źródło
4
To powinna być jedyna akceptowana odpowiedź - na wypadek, gdybyś chciał mieć rozsądną i aktualną konfigurację węzła w Ubuntu.
José L. Patiño,
To również działa dla mnie najlepiej (miej dość starożytnych nodejów na naszym EC2 i wypróbowałem wiele sugestii i tylko ta sprawiła, że ​​zadziałało). Również 100% zgadza się z powyższym komentarzem!
Shan Dou
nvminstaluje Node.js dla poszczególnych użytkowników. Używanie nvmnie daje nodekomendy systemowej . Odradzam więc usuwanie globalnego / systemu, nodeaby skrypty działały tak, jak inny użytkownik może nadal działać node.
d4nyll
4

Próbowałem tych samych poleceń listy na moim Ubuntu 14.04, ale wciąż zgłaszał błąd.

Polecenia, które wykonałem, to:

sudo add-apt-repository ppa:chris-lea/node.js  
sudo apt-get update  
sudo apt-get install nodejs

i błąd, który otrzymywałem:

Invalid version 0.12.2
Line 299: curl not found in /bin/n

Zrozumiałem, że narzędzie curl nie zostało zainstalowane w moim systemie operacyjnym.

Wykonałem polecenie:

apt-get install curl

(użyj sudojako prefiksu, jeśli nie jesteś su)

a następnie powtórzyłem kroki sugerowane w odpowiedzi i to działa;)

Priyank Thakkar
źródło
2

Ten instaluje najnowszy węzeł v0.12. * Z nodesource.

sudo apt-get install -y curl
curl -sL https://deb.nodesource.com/setup_0.12 | sudo bash -
sudo apt-get install -y nodejs

Dla węzła v4.x

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs
Kunal Kapadia
źródło
2
Czy instalujesz węzeł od zera? Pytanie dotyczyło aktualizacji, a nie instalacji
Green
2

Preferowaną metodą jest użycie nvm . Najpierw zainstaluj NVM:

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

Następnie zainstaluj nodejs:

nvm install node

Teraz możesz łatwo przełączać wersje węzłów.

Damjan Pavlica
źródło
2

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

NVM został wspomniany na stronie : https://askubuntu.com/a/441527/52975, ale tutaj jest pełniejszy przykład użycia, w tym --ltswersja rozsądna .

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.

Ciro Santilli
źródło
1

Sugeruję, aby najpierw usunąć wszystkie instalacje nodejs, a następnie wykonać poniższy skrypt po dokonaniu edycji za pomocą żądanej wersji nodejs i katalogu instalacyjnego instalacji

zobacz wszystkie dostępne wersje nodejs

https://nodejs.org/dist/

poniższy skrypt pozwoli ci zainstalować dowolną z tych wersji nodejs na Linuksie lub OSX

#!/bin/bash

#     usage :
#
#     edit two vars in below :  NODE_VER  and  CODE_PARENT_DIR
#
# ... execute this script as yourself unless you choose a root owned value for var CODE_PARENT_DIR
#     whichever id you execute this as determines the id you will issue npm commands as :  npm install -g foo-bar
#
#     NOTE - nodejs comes bundled with npm ... so no need to do separate npm install
#            this scripts runs fine on linux or OSX

# ...  copy all the lines starting here  .. top of copy  ....   and ending ... end of copy  ...
#      and paste into your ~/.bashrc file so proper env vars get set 

# ............... top of copy  ........................  install_node.sh

# export NODE_VER=v7.2.0  # see available versions at https://nodejs.org/dist/
# export NODE_VER=v8.5.0  # edit this line next time you need to update nodejs  
export NODE_VER=v9.3.0  # edit this line next time you need to update nodejs

# ...  pick parent dir of nodejs install  ... comment out or remove ONE of below
# export CODE_PARENT_DIR=/opt/code  # root owned dir ... requires you to sudo prior to npm install going forward
export CODE_PARENT_DIR=${HOME}    # RECOMMENDED execute as yourself including npm install

# ......... following env vars are OK no edits needed ... only ever need to edit above vars

curr_OS=$( uname )

echo curr_OS $curr_OS

if [[ "${curr_OS}" == "Darwin" ]]; then

    OS_ARCH=darwin-x64

elif [[ "${curr_OS}" == "Linux" ]]; then

    OS_ARCH=linux-x64
else
    echo "ERROR - failed to recognize OS $curr_OS"
    exit 5
fi

if [[ -z ${CODE_PARENT_DIR} ]]; then

    echo "ERROR - failed to see env var CODE_PARENT_DIR"
    exit 5
fi

export NODE_CODEDIR=${CODE_PARENT_DIR}/nodejs
export COMSUFFIX=tar.gz
export NODE_NAME=node-${NODE_VER}
export NODE_PARENT=${NODE_CODEDIR}/${NODE_NAME}-${OS_ARCH} 

export PATH=${NODE_PARENT}/bin:${PATH}
export NODE_PATH=${NODE_PARENT}/lib/node_modules

# ............... end of copy  ........................  install_node.sh

# copy and paste above from ... top of copy ... to here into your file ~/.bashrc   

echo
echo "NODE_CODEDIR $NODE_CODEDIR<--"
echo

echo "mkdir -p ${NODE_CODEDIR}"
echo
      mkdir -p ${NODE_CODEDIR}
echo

echo "cd ${NODE_CODEDIR}"
      cd ${NODE_CODEDIR}
echo

# this is compiled code NOT source

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

echo "wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      wget -q --show-progress https://nodejs.org/download/release/${NODE_VER}/${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

echo "tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}"
      tar -C ${NODE_CODEDIR} -xf ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX}
echo

[ -f ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} ] && rm ${NODE_NAME}-${OS_ARCH}.${COMSUFFIX} # if file exists remove

# ...........  done ........... #

which node

node --version

# ....  bottom of file   install_node.sh
Scott Stensland
źródło
1

Jeśli używanie nnie działa, możesz zainstalować najnowszą wersję nodejs(tj. Wersję 8), uruchamiając następujące polecenia:

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

sudo apt-get install -y nodejs

Dalsze instrukcje są tutaj .

smartmouse
źródło
0

Jeśli jesteś za serwerem proxy, być może możesz otrzymać ten błąd, gdy uruchomisz „sudo n stable”:

Error: invalid version

Musisz ustawić zmienne env w następujący sposób:

export HTTP_PROXY=http://your-proxy-url:port
export HTTPS_PROXY=http://your-proxy-url:port

Następnie uruchom polecenie, przekazując te zmienne do użytkownika root:

sudo -E n stable
luandrea
źródło
Kredyty dla: github.com/tj/n/issues/430
luandrea
0

Próbuję zainstalować za pośrednictwem NVM, na które odpowiedziano powyżej, ale napotkałem błąd w Ubuntu 18.04. następnie przechodzę przez ten proces

sudo apt purge nodejs npm

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

nvm install node

po uruchomieniu tego polecenia możesz znaleźć ten błąd Command 'nvm' not found, did you mean:

w takim przypadku możesz uruchomić to polecenie

source ~/.nvm/nvm.sh

LUB możesz umieścić go w pliku /.bashrc lub ~ / .profile, aby automatycznie go załadować

potem możesz przejść przez następny proces

nvm install node
nvm alias default node
sayalok
źródło