Zaktualizuj Node.js do najnowszej wersji w systemie Mac OS

721

Obecnie używam Node.js v0.6.16 na Mac OS X 10.7.4. Teraz chcę go zaktualizować do najnowszej wersji Node.js v0.8.1. Ale po pobraniu i zainstalowaniu najnowszego pliku pakietu z nodejs.org, stwierdziłem, że system nadal używa v0.6.16 zamiast v0.8.1, kiedy wpisałem „node -v” w terminalu. Czy brakuje mi kroku? Czy powinienem dokładnie odinstalować starą wersję przed zainstalowaniem najnowszej?

BTW, wiem, że nvm może pomóc w zarządzaniu pakietem nodejs

https://github.com/creationix/nvm/

Czy jest jakiś sposób na uaktualnienie Node.js bez jego użycia?

Znalazłem ten problem w Google, ale wydaje mi się, że nie ma bardzo jasnej odpowiedzi na to pytanie w przypadku najnowszej wersji Node.js.

poświata
źródło
Dzięki, Bob. Zaktualizowałem swoje pytanie.
afterglowlee
Nie masz pewności co do odpowiedzi, ale dla wyjaśnienia, czy proces węzła działa podczas jego aktualizacji?
Bob Davies
Nie, nie sądzę, aby działał jakikolwiek proces Węzła. Po zrestartowaniu systemu operacyjnego polecenie „node -v” nadal pokazuje, że wersja 0.6.16 jest uruchomiona.
afterglowlee
1
Ludzie - to jest 6-letnie pytanie i kilka równie starych odpowiedzi. Bez wątpienia były to wtedy najlepsze praktyki. Ale od 2018 r. brew upgrade nodePowinno działać dobrze. Zobacz odpowiedź wprl poniżej.
pscl
2
@pscl Od lutego 2019 r. witryna npm zaleca używanie menedżera wersji Node, takiego jak nlub, nvmdo zainstalowania i uaktualnienia zarówno Node, jak i npm.
aleww

Odpowiedzi:

1397

Oto jak ja z powodzeniem zmodernizowane v0.8.18, aby v0.10.20 bez żadnych innych wymogów , takich jak parzenie itd, (wpisz następujące polecenia w terminalu):

  1. sudo npm cache clean -f (wymuś) wyczyść pamięć podręczną npm
  2. sudo npm install -g nzainstaluj n (może to chwilę potrwać)
  3. sudo n stable uaktualnij do bieżącej stabilnej wersji

Pamiętaj, że sudomoże to wymagać podania hasła.

Dodatkowa uwaga dotycząca krok 3: stablemożna wymienić na latest, lts(wsparcie długoterminowe) lub jakiś konkretny numer wersji, takich jak 0.10.20.

Jeśli numer wersji nie pojawia się podczas pisania node -v, może być konieczne ponowne uruchomienie.

Te instrukcje można również znaleźć tutaj: davidwalsh.name/upgrade-nodejs
Więcej informacji o pakiecie n znalezionych tutaj: npmjs.com/package/n
Więcej informacji o harmonogramie wydania Node.js: github.com/nodejs/Release

Johan Dettmar
źródło
6
pracował nad aktualizacją węzła z v0.10 do v0.12 w macos x snow leopard. Dziękuję Ci.
Salvador P.,
3
FWIW możesz użyć 'n lts' do zainstalowania długoterminowej wersji wsparcia zamiast bieżącej stabilnej wersji (tj. 4.4.3 zamiast 5.10.1 w momencie pisania)
StephenT
2
Wystąpił błąd parzenia. Obecnie jest to poprawna odpowiedź.
oguzhan00
5
sudo n ltsjako ostatni krok otrzymasz wersję długoterminowego wsparcia
Slartibartfast
3
To zadziałało, ale nikt nie wyjaśnia, jakie polecenia powodują zainstalowanie „n”. Właśnie zorientowałem się dzisiaj, że „n” jest menedżerem wersji Node.js, jak to nieco wyjaśniono na stronie npmjs
Mark
861

Jeśli początkowo zainstalowałeś Node.js z Homebrew , uruchom:

brew update
brew upgrade node
npm install -g npm

Lub jako jedna linijka:

brew update && brew upgrade node && npm install -g npm

Wygodnym sposobem zmiany wersji jest użycie NVM :

brew install nvm

Aby zainstalować najnowszą wersję Node.js z nvm:

nvm install node

Jeśli zainstalowałeś za pomocą pakietu, pobierz najnowszą wersję ze strony nodejs.org . Zobacz Instalowanie Node.js i aktualizowanie npm .

wprl
źródło
2
@afterglowlee Możesz odinstalować stary węzeł przed ponowną instalacją nowego: stackoverflow.com/questions/9044788/…
wprl
14
Właśnie przegłosowałem tę odpowiedź, ale po 7 minutach czek Brew powiedział mi, że instalacja nie powiodła się ... Próbowałem również port upgrade node, ale Brew już pomieszał pakiet i port nie może teraz znaleźć węzła ... W końcu poszedłem do strony nodejs.org, aby pobierz pakiet instalacyjny i bum! Wszystko idzie dobrze, w tym npm!
Jinzhao Huo
3
@ Jinzhao Zaleca się, aby nie instalować więcej niż jednego Homebrew, MacPorts lub Fink.
wprl
2
w aktualnej wersji brew napisano: „Jeśli aktualizujesz npm, NIE używaj polecenia aktualizacji npm. Zalecanym wcześniej sposobem aktualizacji npm jest: npm install -g npm @ latest”
Pascal
7
Uruchom npm install -g nodepo wykonaniu powyższych instrukcji, jeśli wersja Twojego węzła nadal nie jest aktualizowana.
Thilina Hasantha
172

Ponieważ wydaje się, że znajduje się w czołówce Google, gdy szuka sposobu uaktualnienia nodejs na Macu, zaoferuję moją wskazówkę każdemu, kto przyjdzie w przyszłości, pomimo jego wieku.

Aktualizacja przez NPM
Możesz użyć metody opisanej przez @Mathias powyżej lub wybrać następującą prostszą metodę za pomocą terminala.

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

Po czym możesz zdecydować się na potwierdzenie aktualizacji

node -v

Twoi nodejs powinni byli zaktualizować do najnowszej wersji. Jeśli chcesz uaktualnić do konkretnego, powiedz v0.8.19, a następnie zamiast

sudo n stable

posługiwać się

sudo n 0.8.19

EDYCJA Unikaj używania sudo, chyba że potrzebujesz. Patrz komentarz Steve'a w komentarzach

Kennedy Nyaga
źródło
4
Dlaczego głosujesz za odpowiedzią i nie dodajesz komentarza wyjaśniającego dlaczego?
Kennedy Nyaga
Ponieważ radzisz używać sudo.
OZ_
2
To działa, ale: czy naprawdę konieczne jest użycie --forceflagi cache clean? I nie potrzebowałem sudopierwszych dwóch poleceń.
Steve Bennett
Dzięki @SteveBennett za dodanie tego, dodałem sudo, aby uwzględnić początkujących, którzy będą go potrzebować, zamiast zostawiać ich osieroconych. Co więcej, posiadanie sudo będzie działać w obu przypadkach.
Kennedy Nyaga
5
Czasami używanie sudo, gdy nie jest potrzebne, powoduje bałagan, ponieważ kończy się to posiadaniem plików należących do root, których nie można modyfikować bez sudo.
Steve Bennett
59

Przejdź do http://nodejs.org i pobierz i uruchom instalator. Teraz działa - przynajmniej dla mnie.

Spoeken
źródło
Czy wiesz przypadkiem, jak zainstalowane aktualizacje jode.js w OS / X?
Dimitrios Mistriotis
Nie jestem pewien, czy rozumiem, o co pytasz
Spoeken
1
Przepraszam za zamieszanie (napisane w pośpiechu). Zainstalowałem node.js bezpośrednio z linku do pobrania strony, aktualna wersja: v0.8.14. Kiedy powiedzmy, że wersja v0.8.15 zostanie wydana, czy będę musiał pobrać ją ponownie, czy nastąpi automatyczna aktualizacja, czy zadzwoni do domu i poinformuje mnie? Na przykład z homebrew robiłem aktualizację naparu (więc to
zależało
1
Nie sądzę, że zadzwoni do domu. Myślę, że będziesz musiał regularnie sprawdzać i pobierać nową wersję ze strony internetowej. Ale nie jestem w 100% na tym.
Spoeken
5
prawdopodobnie najłatwiejszy sposób tutaj.
Mohit
45

Możesz zainstalować nvm i zainstalować wiele wersji Node.js.

curl https://raw.github.com/creationix/nvm/master/install.sh | sh
source ~/.nvm/nvm.sh

a następnie uruchom:

nvm install 0.8.22  #(or whatever version of Node.js you want)

możesz zobaczyć, jakie wersje zainstalowałeś:

nvm list

i możesz przełączać się między wersjami za pomocą:

nvm use 0.8.22

Wspaniałą rzeczą w korzystaniu z NVM jest to, że możesz testować różne wersje obok siebie. Jeśli różne aplikacje wymagają różnych wersji Node.js, możesz uruchomić je obie.

fijiaaron
źródło
2
Teraz używam tej metody. Wydaje mi się, że jest to najlepszy sposób na utrzymanie wielu wersji działających na tym samym komputerze.
afterglowlee
28

Używam do tego menedżera wersji Node (zwanego n).

npm install -g n

następnie

n latest

LUB

n stable
Shaikh Shahid
źródło
2
Wersja LTSn lts
Sergio Rodrigues
24

Wystarczy przejść do strony JS węzła i zainstalować najnowszą wersję.

Zainstaluj najnowszą wersję zamiast zalecanej stabilnej wersji. Daje to swobodę korzystania z najnowszych funkcji ES6 w węźle.

Można znaleźć tutaj Węzeł JS .

także do aktualizacji npm , będziesz musiał użyć tego polecenia.

sudo npm i -g npm@latest

Wszystkie twoje projekty będą działać dobrze.


Inne opcje dla Mac :: brew update && brew install node && npm -g npm

Tarandeep Singh
źródło
20

W systemie macOS zalecanym sposobem homebrew jest uruchomienie

brew install node
npm install -g npm@latest

Zrzut ekranu poleceń terminalu

Nick Woodhams
źródło
1
Zainstaluje naprawdę najnowszą wersję, a nie tylko najnowszą wersję warzoną.
Nick Woodhams
11

Jestem w stanie zaktualizować węzeł za pomocą następującego polecenia

nvm install node --reinstall-packages-from=node
Rohit Kale
źródło
8

niestety nnie działa dla mnie. Używam node version manager or nvmi działa jak urok. Oto link do instalacji nvm: https://github.com/creationix/nvm#installation

  • nvm i 8.11.2 uaktualnij do najnowszej wersji LTS
  • nvm use 8.11.2 Użyj tego
  • node -v sprawdź swoją najnowszą wersję
Jannomeister
źródło
1
Ten działał dla mnie. Wypróbowałem kilka najlepszych komentarzy, ale po wykonaniu tych kroków węzeł nadal tkwi w wersji 6. Dzięki!
gedii
1
To zadziałało dla mnie. dzięki jannomeister. głosuj za zaakceptowaną odpowiedzią
Richard Abear
6

Wejdź na stronę nodejs.org i pobierz najnowszy pkg, a następnie zainstaluj. mi to pasuje

Użyłem naparu do aktualizacji mojego węzła. Zainstalował się, ale znajduje się w nim /usr/local/Cellar/node/5.5.0i jest domyślny węzeł, w /usr/local/bin/nodektórym mi przeszkadza. Nie chcę tworzyć miękkiego linku, ponieważ tak naprawdę nie wiem, jak zorganizowany jest napar. Więc pobrałem pkgplik, zainstalowałem i dostałem te informacje:

Node.js został zainstalowany w

/usr/local/bin/node

npm został zainstalowany w

/usr/local/bin/npm

Upewnij się, że /usr/local/binjest to w twojej ŚCIEŻCE $.

Teraz aktualizacja jest zakończona

Lucas Liu
źródło
5

Możesz po prostu przejść do strony nodejs.org i pobrać najnowszy pakiet. Zaktualizuje się odpowiednio dla Ciebie. NPM zostanie również zaktualizowany.

BRogers
źródło
2
Zdecydowanie najłatwiej, jeśli początkowo zainstalowałeś go za pośrednictwem strony internetowej.
Elwin,
3

Możesz biegać, ale nie możesz się ukryć ... Na końcu i tak będziesz używać NVM .

Igor Escobar
źródło
2
Lub pakiet „n” ... Zobacz odpowiedź Kenny'ego Westa, jeśli potrzebujesz prostego menedżera pakietów, który możesz zainstalować za pomocą npm.
depthfirstdesigner
3

Myślę, że najprostszym sposobem na użycie najnowszej wersji Node.js jest pobranie najnowszego pliku pkg Node.js na stronie https://nodejs.org/en/download/current/, jeśli chcesz użyć innej wersji Node .js możesz nim zarządzać za pomocą nvm lub n.

użytkownik4810973
źródło
3
sudo npm install -g n

i wtedy

sudo n latest for linux/mac users

W systemie Windows zainstaluj ponownie węzeł.

sumanth reddy
źródło
3

Nvm Nvm to oparty na skryptach menedżer wersji węzłów. Możesz go łatwo zainstalować za pomocą curl and bash one-liner zgodnie z opisem w dokumentacji. Jest również dostępny w Homebrew.

Zakładając, że pomyślnie zainstalowałeś NVM. Poniżej zainstaluje najnowszą wersję węzła.

 nvm install node --reinstall-packages-from=node

Ostatnia opcja instaluje wszystkie globalne pakiety npm do nowej wersji. W ten sposób pakiety takie jak mokka i inspektor węzłów działają dalej.

N N jest menedżerem wersji węzłów opartym na npm. Możesz go zainstalować, najpierw instalując wersję węzła, a następnie uruchamiając npm install -g n.

Zakładając, że pomyślnie zainstalowałeś n. Poniżej zainstaluje najnowszą wersję węzła.

sudo n latest

Homebrew Homebrew jest jednym z dwóch popularnych menedżerów pakietów dla komputerów Mac. Zakładając, że wcześniej zainstalowałeś węzeł z węzłem instalacji brew. Możesz uzyskać aktualne formuły i uaktualnić do najnowszej wersji Node.js, korzystając z poniższych.

1 brew update
2 brew upgrade node

MacPorts MacPorts to kolejny menedżer pakietów dla komputerów Mac. Poniższe zaktualizuje drzewo portów lokalnych, aby uzyskać dostęp do zaktualizowanych wersji. Następnie zainstaluje najnowszą wersję Node.js. Działa to nawet, jeśli masz zainstalowaną poprzednią wersję pakietu.

1 sudo port selfupdate
2 sudo port install nodejs-devel
Rubin bhandari
źródło
brew upgrade nodejest bryza
khawarizmi
To działało dla mnie na OSX. Prawdopodobnie miałem zainstalowany NVM, ponieważ node -vciągle dawałem mi 6.11.1nawet po poleceniach związanych z n latestitd. Ulepszenie browaru działało. Dzięki.
Khom Nazid
2

Te 2 metody, które wypróbowałem, nie działają:

  1. Użyj npm

sudo npm cache clean -f

sudo npm install -g n

sudo n stable

  1. Węzeł instalacji ręcznej z oficjalnej strony internetowej ( https://nodejs.org/en/ )

Po próbie node -vnadal wyświetla starą wersję węzła.


Poniższa metoda działa dla mnie:

Krok 1: Zainstaluj NVM (więcej szczegółów: https://github.com/creationix/nvm#installation )

Otwórz terminal i wpisz następujące polecenie:

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

Zamknij terminal i otwórz go ponownie.

Wpisz to polecenie, aby sprawdzić, czy nvm jest zainstalowany:

command -v nvm

wprowadź opis zdjęcia tutaj

Krok 2: Aby pobrać, skompilować i zainstalować najnowszą wersję węzła, wpisz:

nvm install node („node” to alias najnowszej wersji)

Aby sprawdzić, czy węzeł pobiera najnowszą wersję (v10.11.0).

wprowadź opis zdjęcia tutaj

Zainstalowanie najnowszego węzła powoduje również zainstalowanie najnowszej wersji npm.

Sprawdź, czy npm pobiera najnowszą wersję (6.4.1).

wprowadź opis zdjęcia tutaj

Saviah Kao
źródło
Odkryłem, że ta metoda nie działa teraz dla mnie. Oto jak to zrobiłem zamiast: npm install -g n sudo n 10.11.0(w moim przypadku chcę po prostu zaktualizować do 10.11.0) Następnie zaktualizowałem do 10.11.0node -v
Saviah Kao
2

Łatwe i bezpieczne kroki

Krok 1: Zainstaluj NVM

brew install nvm

Krok 2: Utwórz katalog dla NVM

mkdir ~/.nvm/

Krok 3: Skonfiguruj zmienne środowiskowe

nano ~/.bash_profile

WKLEJ PONIŻSZY KOD

export NVM_DIR=~/.nvm
source $(brew --prefix nvm)/nvm.sh

source ~/.bash_profile

Krok 4: Sprawdź dokładnie swoją pracę

nvm ls

Krok 5: Zainstaluj węzeł

nvm install 9.x.x

Krok 6: Aktualizacja

nvm ls-remote

   v10.16.2   (LTS: Dubnium)
   v10.16.3   (Latest LTS: Dubnium) ..........

NVM zainstaluj wersję 10.16.3

Rozwiązywanie problemów

Error Example #1
rm -rf /usr/local/lib/node_modules
brew uninstall node
brew install node --without-npm
echo prefix=~/.npm-packages >> ~/.npmrc
curl -L https://www.npmjs.com/install.sh | sh

https://www.chrisjmendez.com/2018/02/07/install/

Narendranath Reddy
źródło
1

Użyj nvm, aby zaktualizować węzeł zgodnie z wymaganiami projektu.

zainstaluj NVM przez Homebrew .. brew aktualizacji brew zainstaluj NVM mkdir ~ / .nvm nano ~ / .bash_profile

W pliku .bash_profile (być może korzystasz z innego pliku, zależnie od powłoki), dodaj:

export NVM_DIR = ~ / .nvm source $ (brew --prefix nvm) /nvm.sh

źródło ~ / .bash_profile echo $ NVM_DIR

radhey shyam
źródło
0

Miałem ten sam problem. To działało dla mnie, ponieważ pobrałem i zainstalowałem node.js globalnie ze strony node.js.

To, co zrobiłem, to wypróbowanie NVM (Node Version Manager). Wykonaj polecenia w następującej kolejności w swoim terminalu

  1. curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | grzmotnąć

  2. polecenie -v nvm

  3. węzeł instalacyjny nvm

  4. węzeł -v (w celu potwierdzenia aktualizacji)

fypnlp
źródło
0

Możesz bezpośrednio użyć curl, aby zaktualizować węzeł do najnowszej wersji. Uruchom następujące polecenie:

curl "https://nodejs.org/dist/latest/node-${VERSION:-$(wget -qO- https://nodejs.org/dist/latest/ | sed -nE 's|.*>node-(.*)\.pkg</a>.*|\1|p')}.pkg" > "$HOME/Downloads/node-latest.pkg" && sudo installer -store -pkg "$HOME/Downloads/node-latest.pkg" -target "/"

Odniesienie: https://nodejs.org/en/download/package-manager/#macos

użytkownik846316
źródło
0

To jest po prostu dodać kilka informacji dla osób, które nie mają Node zainstalowany Homebrew jednak, że uzyskanie bardzo błąd podczas próby zainstalowania pakietów z KMP w systemie Mac OS X .

Znalazłem ten dobry artykuł wyjaśniający, jak całkowicie usunąć Node, niezależnie od tego, w jaki sposób go pierwotnie zainstalowałeś.

Po tym, jak węzeł , npm i n zostały całkowicie usunięte z mojego komputera, właśnie ponownie zainstalowałem Node.js przy użyciu oficjalnego instalatora .pckg ze strony internetowej Node i wszystko wróciło do normy.

Mam nadzieję, że to komuś pomoże.

rogopag
źródło
-1

Byłem w stanie zaktualizować w ~ 20 sekund za pomocą tylko jednego wiersza kodu

sudo n latest

Inne polecenia nie działały dla mnie, ale ta działała. Mam nadzieję, że to komuś pomoże.

Shyam
źródło