Come verificare quale versione di v8 è installata con il mio NodeJS?


140

Come viene installato V8 insieme a NodeJs? Quale versione è il mio attuale motore V8?

Risposte:


119

Modo semplice:
digitare nella riga di comando:node -p process.versions.v8

Modo lavoratore duro:

  1. Digitare node --versionper ottenere la versione di Node.js.

  2. Vai alla Node.JS changelog .

  3. Trova e apri il registro modifiche versione Node.js appropriato.

  4. Cerca note contenenti V8 to.


100
oppure, puoi semplicemente chiedere al nodo quale versione è installata tramite process.versions. Un po 'più facile che cercare nel registro delle modifiche. node -e 'console.log(process.versions.v8);'
Ben Taber,

quando digito "node --version" non ricevo un errore ma non ottengo alcuna informazione ... mostra di nuovo il prompt. Qualche idea sul perché?
geoidesic,

Il collegamento non è più aggiornato e, come sottolineato da Ben Taber anni fa, per fortuna c'è un modo molto più diretto e diretto .
TJ Crowder,

290

Soluzione a una riga:
node -p process.versions.v8

Soluzione alternativa:
node -e "console.log(process.versions.v8)"


2
Concordato. Questa è anche l'unica risposta che funziona in Windows. Tutte le risposte alla singola citazione non fanno nulla di strano ...
Marc,

37
node -p process.versions.v8è un po 'più corto. Non è importante, ma forse a qualcuno importa.
Scorri il

62

Esegui npm version(non so da quando è disponibile)

> 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
La migliore risposta per sapere. Inoltre, l'interfaccia della riga di comando di NPM è un problema: se aggiungi un argomento a questo, aumenterà la versione nel tuo file package.json, crea e tagga un commit git. UX assolutamente bizzarra, ma questo è utile.
mitchell_st

la tua è la migliore risposta a questa domanda ... Purtroppo posso votare solo una volta .. Grazie
Daksh,

31

Per verificare la versione, verificare il valore in process.versionsREPL.

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

Inoltre, è possibile compilare il nodo con altre versioni di V8 se lo si desidera. Ovviamente i risultati possono variare ampiamente qui a seconda delle versioni scelte.

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, ho dovuto usare node -e console.log(process.versions.v8)però; altrimenti non veniva prodotto nulla.
pimvdb,

Sembra che sia cambiato nel nodo ad un certo punto, grazie per il suggerimento. Modificato la risposta per riflettere ciò.
Ben Taber,

13

Puoi semplicemente digitare:

node -p process.versions.v8


9

Per divertimento, se hai il ricciolo disponibile nel tuo terminale, quanto segue dovrebbe darti la versione di v8:

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

Ad esempio, nella mia casella con node.js 0.4.7 ottengo:

3.1.8.10

:)


3
Interessante come la definizione di divertimento possa variare da un individuo all'altro :)
Arnaud Leyder

9

trova la versione v8 installata con nodo.

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

dove L' oggetto processo è un globale che fornisce informazioni e controllo sul processo Node.js corrente.

se si digita semplicemente processo in nodo di sostituzione, vengono visualizzate informazioni sul nodo (ad es. versione del nodo, versione v8, piattaforma, informazioni sulle variabili env ecc.)


9

Se sei su Node.js versione 7.7.3 o simile il comando è

$ node -p "process.versions"

Ma anche quelli sopra funzionano bene.


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

2
Una buona risposta avrà sempre una spiegazione di ciò che viene fatto e perché è stato fatto in questo modo, non solo per l'OP ma anche per i futuri visitatori di SO.
Jay Blanchard,

Downvoting, perché non aggiunge nulla di importante alla risposta più votata in questa domanda, pubblicata 3 anni fa.
Yaroslav Admin,

4
In che modo questo non aggiunge nulla di importante? Aggiunge il modo corretto, suggerito dal nodo, per scoprire quale versione viene utilizzata. nodejs.org/en/docs/es6/…
Philiiiiiipp

4

Le altre risposte sono ottime per controllare la tua versione attuale. C'è anche una tabella con tutte le versioni di Node.js qui: https://nodejs.org/en/download/releases/ . Estratto per esempio:

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

Puoi anche controllare qualsiasi versione di nodejs v8 usando la finestra mobile, come il nodo 10.7.0: docker run --rm -it node:10.7.0 bash -c "node -p process.versions"


0

v8 è in bundle con Node.js. Puoi vedere quale versione di v8 sta utilizzando qualsiasi versione di Node.js e quando è entrata in produzione visualizzando la v8 ChangeLogdal noderepository. Questo è l'attuale master (se compilato dalla fonte): https://github.com/nodejs/node/commits/master/deps/v8/ChangeLog

Per visualizzare una versione specifica di Node.js, passa il ramo a quella versione e controlla la ChangeLogcronologia dei file.

Node.js cambia la cronologia dei registri

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.