Lalith
Lalith

Reputation: 20524

How to check which version of v8 is installed with my NodeJS?

How is V8 installed along with NodeJs? What version is my current V8 engine?

Upvotes: 164

Views: 101579

Answers (13)

Donghua Liu
Donghua Liu

Reputation: 2186

Updated:

C:\Users\Liu.D.H>C:\Users\Liu.D.H\AppData\Roaming\nvm\v16.14.2\node -p process.versions
{
  node: '16.14.2',
  v8: '9.4.146.24-node.20',
  uv: '1.43.0',
  zlib: '1.2.11',
  brotli: '1.0.9',
  ares: '1.18.1',
  modules: '93',
  nghttp2: '1.45.1',
  napi: '8',
  llhttp: '6.0.4',
  openssl: '1.1.1n+quic',
  cldr: '40.0',
  icu: '70.1',
  tz: '2021a3',
  unicode: '14.0',
  ngtcp2: '0.1.0-DEV',
  nghttp3: '0.1.0-DEV'
}

C:\Users\Liu.D.H>nvm use 18.0.0
Now using node v18.0.0 (64-bit)

C:\Users\Liu.D.H>node -p process.versions
{
  node: '18.0.0',
  v8: '10.1.124.8-node.13',
  uv: '1.43.0',
  zlib: '1.2.11',
  brotli: '1.0.9',
  ares: '1.18.1',
  modules: '108',
  nghttp2: '1.47.0',
  napi: '8',
  llhttp: '6.0.4',
  openssl: '3.0.2+quic',
  cldr: '41.0',
  icu: '71.1',
  tz: '2022a',
  unicode: '14.0',
  ngtcp2: '0.1.0-DEV',
  nghttp3: '0.1.0-DEV'
}

C:\Users\Liu.D.H>

Upvotes: 1

alienhard
alienhard

Reputation: 14672

Easy way:
Type in command line: node -p process.versions.v8

Hard way:

  1. Type node --version to get the Node.js version.

  2. Go to the Node.js Changelogs.

  3. Find and open an appropriate Node.js version change log.

  4. Look for notes containing V8 to.

Upvotes: 143

user748221
user748221

Reputation:

One-line solution:
node -p process.versions.v8

Alternative solution:
node -e "console.log(process.versions.v8)"

Upvotes: 313

cchamberlain
cchamberlain

Reputation: 17956

v8 is bundled with Node.js. You can see what version of v8 any version of Node.js is using and when it went into production by viewing the v8 ChangeLog from the node repository. This is current master (if building from source): https://github.com/nodejs/node/commits/master/deps/v8/ChangeLog

To view for a specific version of Node.js, switch the branch to that version and check the ChangeLogs file history.

Node.js change log history

Upvotes: 0

Geng  Jiawen
Geng Jiawen

Reputation: 9154

You can also checking any nodejs v8 version using docker, like node 10.7.0 : docker run --rm -it node:10.7.0 bash -c "node -p process.versions"

Upvotes: 0

ZachB
ZachB

Reputation: 15366

The other answers are great for checking your current version. There's also a table with all Node.js versions here: https://nodejs.org/en/download/releases/. Excerpt for example:

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

Upvotes: 4

user5683940
user5683940

Reputation:

If you're on Node.js version 7.7.3 or similar the command is

$ node -p "process.versions"

But those above work fine too.

Upvotes: 9

Siyaram Malav
Siyaram Malav

Reputation: 4688

find the installed v8 version with node.

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

where The process object is a global that provides information about, and control over, the current Node.js process.

if you just type process in node repl, you see information about node(i.e. node version,v8 version,platform,env variables info etc.)

Upvotes: 9

Gaui
Gaui

Reputation: 8919

You can just type:

node -p process.versions.v8

Upvotes: 14

Vadym
Vadym

Reputation: 5284

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

Upvotes: 8

Peter Dotchev
Peter Dotchev

Reputation: 3068

Just run npm version (don't know since when this is available)

> 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' }

Upvotes: 72

Ben Taber
Ben Taber

Reputation: 6711

To check your version, check the value in process.versions in the REPL.

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

Additionally, you can compile node with other versions of V8 if you desire. Obviously results may vary widely here depending on what versions you choose.

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

./configure
make
make install

Upvotes: 32

Mariano Iglesias
Mariano Iglesias

Reputation: 1937

Just for fun, if you have curl available in your terminal, the following should give you v8's version:

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

For example, in my box with node.js 0.4.7 I get:

3.1.8.10

:)

Upvotes: 9

Related Questions