¿Cómo verificar qué versión de v8 está instalada con mi NodeJS?

140

¿Cómo se instala V8 junto con NodeJs? ¿Qué versión es mi motor V8 actual?

Lalith
fuente

Respuestas:

119

Manera fácil:
escriba en la línea de comando:node -p process.versions.v8

Trabajador duro:

  1. Escriba node --versionpara obtener la versión Node.js.

  2. Ir a los Node.js registros de cambios .

  3. Busque y abra el registro de cambios de versión Node.js apropiado

  4. Busque notas que contengan V8 to.

alienhard
fuente
100
o simplemente puede preguntarle al nodo qué versión está instalada a través de process.versions. Un poco más fácil que buscar en el registro de cambios. node -e 'console.log(process.versions.v8);'
Ben Taber
cuando escribo "node --version" no recibo un error pero tampoco obtengo ninguna información ... solo muestra el mensaje nuevamente. ¿Alguna idea de por qué?
Geoidesic
El enlace ya no se actualiza y, como Ben Taber señaló hace años, afortunadamente hay una forma mucho más directa y directa .
TJ Crowder
290

Solución de una línea:
node -p process.versions.v8

Solución alternativa:
node -e "console.log(process.versions.v8)"

Mike B.
fuente
2
Convenido. Esta es también la única respuesta que funciona en Windows. Todas las respuestas individuales de cotización no hacen nada extraño ...
Marc
37
node -p process.versions.v8Es un poco más corto. No es que importe, pero tal vez a alguien le importe.
slikts
62

Simplemente ejecute npm version(no sé desde cuándo está disponible)

> 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' }
Peter Dotchev
fuente
1
La mejor respuesta para saber. Además, la CLI de NPM es una locura: si agrega un argumento a esto, incrementará la versión en su archivo package.json, hará y etiquetará un git commit. UX completamente extraño, pero esto es útil.
mitchell_st
la suya es la mejor respuesta a esta pregunta ... Lamentablemente, solo puedo votar una vez ... Gracias
Daksh el
31

Para verificar su versión, verifique el valor en process.versionsREPL.

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

Además, puede compilar el nodo con otras versiones de V8 si lo desea. Obviamente, los resultados pueden variar ampliamente aquí dependiendo de las versiones que elija.

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

./configure
make
make install
Ben Taber
fuente
1
+1, tuve que usar node -e console.log(process.versions.v8)sin embargo; de lo contrario no se emitía nada.
pimvdb
Parece que eso cambió en el nodo en algún momento, gracias por el consejo. Editó la respuesta para reflejar eso.
Ben Taber
13

Solo puedes escribir:

node -p process.versions.v8

Gaui
fuente
9

Solo por diversión, si tiene curl disponible en su terminal, lo siguiente debería darle la versión 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

Por ejemplo, en mi caja con node.js 0.4.7 obtengo:

3.1.8.10

:)

Mariano Iglesias
fuente
3
Interesante cómo la definición de diversión puede variar de un individuo a otro :)
Arnaud Leyder
9

encuentre la versión v8 instalada con el nodo.

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

donde El objeto de proceso es un global que proporciona información y control sobre el proceso actual de Node.js.

si solo escribe proceso en respuesta de nodo, verá información sobre el nodo (es decir, versión de nodo, versión v8, plataforma, información de variables de entorno, etc.)

Siyaram Malav
fuente
9

Si estás en Node.js versión 7.7.3 o similar, el comando es

$ node -p "process.versions"

Pero los de arriba también funcionan bien.

7 óxido
fuente
8
node -pe 'this.process.versions'     # all versions
node -pe 'this.process.versions.v8'  # v8 version
Vadim
fuente
2
Una buena respuesta siempre tendrá una explicación de lo que se está haciendo y por qué se hizo de esa manera, no solo para el OP sino para los futuros visitantes de SO.
Jay Blanchard
Votación negativa, porque no agrega nada importante a la respuesta más votada en esta pregunta, que se publicó hace 3 años.
Yaroslav Admin
44
¿Cómo es que esto no agrega nada importante? Agrega la forma correcta, sugerida por el nodo, de averiguar qué versión se utiliza. nodejs.org/en/docs/es6/…
Philiiiiiipp
4

Las otras respuestas son excelentes para verificar su versión actual. También hay una tabla con todas las versiones de Node.js aquí: https://nodejs.org/en/download/releases/ . Extracto por ejemplo:

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
ZachB
fuente
0

También puede verificar cualquier versión de nodejs v8 usando docker, como node 10.7.0: docker run --rm -it node:10.7.0 bash -c "node -p process.versions"

Geng Jiawen
fuente
0

v8 se incluye con Node.js. Puede ver qué versión de v8 está usando cualquier versión de Node.js y cuándo entró en producción al ver la v8 ChangeLogdesde el noderepositorio. Este es el maestro actual (si se construye desde la fuente): https://github.com/nodejs/node/commits/master/deps/v8/ChangeLog

Para ver una versión específica de Node.js, cambie la rama a esa versión y verifique el ChangeLoghistorial del archivo s.

Node.js cambia el historial de registro

cchamberlain
fuente