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

node.jsV8

node.js Problem Overview


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

node.js Solutions


Solution 1 - node.js

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

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

Solution 2 - node.js

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.

Solution 3 - node.js

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

Solution 4 - node.js

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

Solution 5 - node.js

You can just type:

node -p process.versions.v8

Solution 6 - node.js

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

:)

Solution 7 - node.js

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.)

Solution 8 - node.js

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.

Solution 9 - node.js

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

Solution 10 - node.js

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

Solution 11 - node.js

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"

Solution 12 - node.js

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

Solution 13 - node.js

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>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionLalithView Question on Stackoverflow
Solution 1 - node.jsuser748221View Answer on Stackoverflow
Solution 2 - node.jsalienhardView Answer on Stackoverflow
Solution 3 - node.jsPeter DotchevView Answer on Stackoverflow
Solution 4 - node.jsBen TaberView Answer on Stackoverflow
Solution 5 - node.jsGauiView Answer on Stackoverflow
Solution 6 - node.jsMariano IglesiasView Answer on Stackoverflow
Solution 7 - node.jsSiyaram MalavView Answer on Stackoverflow
Solution 8 - node.jsuser5683940View Answer on Stackoverflow
Solution 9 - node.jsVadimView Answer on Stackoverflow
Solution 10 - node.jsZachBView Answer on Stackoverflow
Solution 11 - node.jsGeng JiawenView Answer on Stackoverflow
Solution 12 - node.jscchamberlainView Answer on Stackoverflow
Solution 13 - node.jsDonghua LiuView Answer on Stackoverflow