Wie überprüfe ich, welche Version von v8 mit meinem NodeJS installiert ist?


140

Wie wird V8 zusammen mit NodeJs installiert? Welche Version ist mein aktueller V8-Motor?

Antworten:


119

Einfacher Weg:
Geben Sie die Befehlszeile ein:node -p process.versions.v8

Harte Arbeitsweise:

  1. Geben Sie ein node --version, um die Node.js-Version abzurufen.

  2. Gehen Sie zu den Node.js Changelogs .

  3. Suchen und öffnen Sie das entsprechende Node.js-Versionsänderungsprotokoll.

  4. Suchen Sie nach Notizen mit V8 to.


100
Oder Sie können den Knoten einfach fragen, welche Version über process.versions installiert ist. Ein bisschen einfacher als das Durchsuchen des Änderungsprotokolls. node -e 'console.log(process.versions.v8);'
Ben Taber

Wenn ich "node --version" eingebe, wird kein Fehler angezeigt, aber ich erhalte auch keine Informationen. Es wird nur die Eingabeaufforderung erneut angezeigt. Irgendeine Idee warum?
Geoidesic

Der Link wird nicht mehr aktualisiert, und wie Ben Taber vor Jahren betonte, gibt es zum Glück einen viel direkteren und einfacheren Weg .
TJ Crowder

290

Einzeilige Lösung:
node -p process.versions.v8

Alternative Lösung:
node -e "console.log(process.versions.v8)"


2
Einverstanden. Dies ist auch die einzige Antwort, die unter Windows funktioniert. Alle Antworten in einfachen Anführungszeichen tun nichts Seltsames ...
Marc

37
node -p process.versions.v8ist etwas kürzer. Nicht dass es wichtig wäre, aber vielleicht interessiert es jemanden.
Slikts

62

Einfach ausführen npm version(weiß nicht, wann dies verfügbar ist)

> npm version
{ http_parser: '1.0',
  node: '0.10.35',
  v8: '3.14.5.9',
  ares: '1.9.0-DEV',
  uv: '0.10.30',
  zlib: '1.2.8',
  modules: '11',
  openssl: '1.0.1j',
  npm: '1.4.28',
  xsjs: '0.1.5' }

1
Beste Antwort zu wissen. Außerdem ist die CLI von NPM ein Whackadoo. Wenn Sie ein Argument hinzufügen, wird die Version in Ihrer package.json-Datei erhöht, ein Git-Commit erstellt und markiert. Äußerst bizarres UX, aber das ist nützlich.
Mitchell_st

Ihre ist die beste Antwort auf diese Frage ... Leider kann ich nur einmal abstimmen. Danke
Daksh

31

Um Ihre Version zu überprüfen, überprüfen Sie den Wert process.versionsin der REPL.

node -e "console.log(process.versions.v8);"

Darüber hinaus können Sie Knoten auf Wunsch mit anderen Versionen von V8 kompilieren. Offensichtlich können die Ergebnisse hier stark variieren, je nachdem, welche Versionen Sie wählen.

cd node-v0.x.x
rm -rf deps/v8
git clone http://github.com/v8/v8.git deps/v8

./configure
make
make install

1
+1 musste ich allerdings benutzen node -e console.log(process.versions.v8); sonst wurde nichts ausgegeben.
Pimvdb

Sieht so aus, als hätte sich das irgendwann im Knoten geändert, danke für den Tipp. Die Antwort wurde bearbeitet, um dies widerzuspiegeln.
Ben Taber

13

Sie können einfach Folgendes eingeben:

node -p process.versions.v8


9

Nur zum Spaß, wenn Sie Curl in Ihrem Terminal zur Verfügung haben, sollte das Folgende Ihnen die Version v8 geben:

V=`cat /usr/include/node/node_version.h | grep -E '^\#define NODE_(MAJOR|MINOR|PATCH)_VERSION' | sed -e 's/^[^0-9]*//'`; V=`echo $V | sed -e 's/ /\./g'`; URL=https://github.com/joyent/node/raw/v$V/ChangeLog; curl --silent $URL | grep 'Upgrade v8' | head -1 | sed -e 's/^.* //'; unset V; unset URL

Zum Beispiel bekomme ich in meiner Box mit node.js 0.4.7:

3.1.8.10

:) :)


3
Interessant, wie die Definition von Spaß von Individuum zu Individuum variieren kann :)
Arnaud Leyder

9

Suchen Sie die installierte Version 8 mit Knoten.

$ node
> process.versions.v8
'5.1.281.83'
>

wo Der Prozess ein globales Objekt, das Informationen zum aktuellen Node.js-Prozess bereitstellt und diesen steuert.

Wenn Sie nur process in node repl eingeben, werden Informationen zum Knoten angezeigt (z. B. Knotenversion, Version v8, Plattform, Informationen zu Umgebungsvariablen usw.).


9

Wenn Sie Node.js Version 7.7.3 oder ähnliches verwenden, lautet der Befehl

$ node -p "process.versions"

Aber die oben genannten funktionieren auch gut.


8
node -pe 'this.process.versions'     # all versions
node -pe 'this.process.versions.v8'  # v8 version

2
Eine gute Antwort wird immer eine Erklärung darüber enthalten, was getan wird und warum es so gemacht wurde, nicht nur für das OP, sondern auch für zukünftige Besucher von SO.
Jay Blanchard

Downvoting, weil es der am besten bewerteten Antwort in diesen Fragen, die vor 3 Jahren veröffentlicht wurde, nichts Wichtiges hinzufügt.
Jaroslaw Admin

4
Wie fügt das nichts Wichtiges hinzu? Es wird die richtige, vom Knoten vorgeschlagene Methode hinzugefügt, um herauszufinden, welche Version verwendet wird. nodejs.org/en/docs/es6/…
Philiiiiiipp

4

Die anderen Antworten eignen sich hervorragend zum Überprüfen Ihrer aktuellen Version. Es gibt auch eine Tabelle mit allen Node.js-Versionen hier: https://nodejs.org/en/download/releases/ . Auszug zum Beispiel:

Version             Date        V8          npm     NODE_MODULE_VERSION
Node.js 11.0.0      2018-10-23  7.0.276.28  6.4.1   67
Node.js 10.13.0     2018-10-30  6.8.275.32  6.4.1   64
Node.js 10.12.0     2018-10-10  6.8.275.32  6.4.1   64

0

Sie können auch jede Version von nodejs v8 mit Docker überprüfen, z. B. node 10.7.0: docker run --rm -it node:10.7.0 bash -c "node -p process.versions"


0

v8 wird mit Node.js gebündelt. Sie können sehen, welche Version von v8 eine Version von Node.js verwendet und wann sie in Produktion ging, indem Sie die Version 8 ChangeLogaus dem nodeRepository anzeigen . Dies ist der aktuelle Master (wenn aus der Quelle erstellt): https://github.com/nodejs/node/commits/master/deps/v8/ChangeLog

Um eine bestimmte Version von Node.js anzuzeigen, wechseln Sie den Zweig zu dieser Version und überprüfen Sie den ChangeLogDateiversionsverlauf.

Node.js Änderungsprotokollverlauf

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.