So installieren Sie die neueste Version von Node mit Brew


154

Die neueste Version von NodeJs ist derzeit 0.4.1

Der Befehl brew install nodeinstalliert derzeit 0.2.6 - was nicht ideal ist. Ich möchte 0.4.1

Ich habe mir diese Liste mit Befehlen zum Brauen angesehen und es versuchtbrew install --HEAD node

Damit wird jedoch der Knoten 0.5-pre installiert.

Warum installiert Brew nicht die richtige Version und wie kann ich sie zwingen, die richtige zu bekommen?

In diesem Stadium scheint es tatsächlich einfacher zu sein, den src herunterzuladen und manuell zu installieren. Aber ich würde gerne wissen, was mit Brew los ist.


Ich bin neugierig. Was ist der Unterschied zwischen der Installation über Homebrew und der Installation über das von nodejs.org heruntergeladene Paket ?
Yihangho

Antworten:


126

Bist du brew updatezuerst gelaufen ? Wenn Sie dies nicht tun, kann Homebrew seine Formeln nicht aktualisieren, und wenn es seine Formeln nicht aktualisiert, weiß es nicht, wie die neuesten Softwareversionen installiert werden.


2
Richtig, ich habe 'Brew Update Node' ausprobiert, aber ich sehe jetzt, dass Sie Recht haben. Mir ist das nicht in den Sinn gekommen, weil das Dokument sagt, dass 'Brew Update' die Brew Software aktualisieren würde - was keinen Unterschied zu machen scheint. Aber es wird "formulea" erwähnt - was nur ein (ehrlich gesagt) dummes Wort für das ist, was im Grunde genommen "Bibliothek von Softwareversionen" ist. Ich kann 'Brew Info Node' ausführen, um herauszufinden, welche Version installiert werden soll. Es ist auf 0.4.0 eingestellt, also habe ich trotzdem von src installiert, aber das ist richtig. Danke dir.
PandaWood

Wenn "Brew-Software aktualisieren" angezeigt wird, bedeutet dies nicht, dass die von Brew installierte Software aktualisiert wurde - es bedeutet, dass Brew selbst sowie die Formelbibliothek aktualisiert werden.
Lily Ballard

301

Führen Sie die folgenden Befehle in dieser Reihenfolge aus:

brew update
brew doctor
brew upgrade node

Jetzt haben Sie die aktualisierte Version des Knotens installiert und dieser ist wahrscheinlich nicht verknüpft. Wenn nicht, geben Sie einfach: brew link nodeoder einbrew link --overwrite node


1
Immer weiter/usr/local/share/doc/node is not writable.
Saba Ahang

@SabaAhang, siehe: Fix Berechtigungen für / usr / local für Homebrew; ;; gist.github.com/rpavlik/768518
AnneTheAgile

3
Fehler: Kein solches Fass: / usr / local / Cellar / node
Hos Mercury

Schön, dies hat einen NPM-Fehler behoben ("Buffer.alloc ist keine Funktion"), da das Knotenfass nicht verbunden war. erforderlich, um das Verknüpfen / Überschreiben alter Dateien zu erzwingen.
Dave

2
brew link --overwrite nodees ist wirklich wichtig! danke
hanzichi

136

Nach der Installation / Aktualisierung des Knotens über Brew bin ich genau auf dieses Problem gestoßen: Der Befehl node hat funktioniert, aber nicht der Befehl npm.

Ich habe diese Befehle verwendet, um das Problem zu beheben.

brew uninstall node
brew update
brew upgrade
brew cleanup
brew install node
sudo chown -R $(whoami) /usr/local
brew link --overwrite node
brew postinstall node

Ich habe diese Lösung nach Versuch und Irrtum mit ...


Danke dir! Hatte genau das gleiche Problem, und das löste es.
Elsurudo

7
sudo brew postinstall nodewird einen Fehler auslösen, es sei denn, das Gebräu gehört root (nicht empfohlen). Ich denke nicht, dass es nötig sein sollte, wenn Sie es bereits getan haben sudo chown -R $(whoami) /usr/local. Sie sollten in der Lage sein, einfach zu rennen brew postinstall node.
Sam Fen

2
@ SamFen ist richtig. sudonicht benötigt. Ich habe zuerst die akzeptierte Antwort ausgeführt, bevor ich diese Liste von Befehlen ausprobiert habe. Danach bin ich gelaufen node -vund jetzt scheint alles in Ordnung zu sein.
6754534367

1
Verwenden Sie Sudo Chown -R $ (whoami) $ (Brew - Präfix) / * anstelle von Sudo Chown -R $ (Whoami) / usr / local
Troy DC Thompson

1
Das hat bei mir funktioniert. Ich habe getan, was @TroyDCThompson empfohlen hat, sudo chown -R $(whoami) $(brew --prefix)/*als ich es bekam Operation not permitted.
Thurzo101


13

Versuchen Sie außerdem, die aktuelle Knotenversion nach der Installation einer neuen Knotenversion zu deaktivieren. Es hilft mir.

nvm deactivate

Dies wird /Users/user_name/.nvm/*/bin aus $ PATH entfernt

Und nachdem dieser Knoten aktualisiert wurde

node --version
v10.9.0

9

Ich musste brew link --overwrite nodedanach brew install nodevon 0.4 auf 0.8.18 aktualisieren


Fehler: Kein solches Fass: / usr / local / Cellar / node
Hos Mercury

7

Versuchen Sie, den extrem einfachen Paketmanager "n" des Knotens zu verwenden .

> npm install -g n

Sobald Sie "n" installiert haben. Sie können den neuesten Knoten wie folgt abrufen:

> n latest

Ich habe es erfolgreich unter Ubuntu 16.0x und MacOS 10.12 (Sierra) verwendet.

Referenz: https://github.com/tj/n


7

Wenn Sie den aktuellen Knoten über installiert haben Homebrew, verwenden Sie einfach diese Befehle.

brew update
brew upgrade node

Überprüfen Sie die Knotenversion mit

node -v


3

Ich habe diese Lösung gerade mit Homebrew 0.9.5 verwendet und es schien eine schnelle Lösung zu sein, um auf die neueste stabile Version von Node zu aktualisieren.

brew update

Dadurch wird die neueste Version installiert

brew install node

Trennen Sie die Verknüpfung Ihrer aktuellen Version von node use, node -v, um dies zu finden

brew unlink node012

Dies ändert sich auf die aktuellste Version des Knotens.

brew link node

Hinweis: Diese Lösung hat funktioniert, weil ich diesen Fehler erhalten habe:

Fehler: Kein solches Fass: / usr / local / Cellar / node


2

Ich habe das unter Mac OSX Sierra gemacht. Ich hatte Node 6.1 installiert, aber Puppetter benötigte Node 6.4. Das habe ich getan:

brew upgrade node
brew unlink node
brew link --overwrite node@8
echo 'export PATH="/usr/local/opt/node@8/bin:$PATH"' >> ~/.bash_profile

Öffnen Sie dann ein neues Terminalfenster und führen Sie Folgendes aus:

node -v
v8.11.2

Das --overwrite ist erforderlich, um widersprüchliche Dateien zwischen Knoten6 und Knoten8 zu überschreiben




0

Wenn Sie bereit sind, die brewAbhängigkeit zu entfernen , würde ich nvm empfehlen - ich kann es keiner anderen Versionslösung wirklich empfehlen, da ich nichts anderes ausprobieren musste. Die Möglichkeit, sofort zwischen den Versionen zu wechseln, je nachdem, an welchem ​​Projekt Sie arbeiten, ist sehr wertvoll.


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.