如何检查我的NodeJS安装了哪个版本的v8?

Lal*_*ith 130 v8 node.js

V8如何与NodeJ一起安装?我目前的V8引擎是什么版本的?

小智 284

__PRE__

  • ```node -p process.versions.v8```有点短.并不重要,但也许有人关心. (37认同)
  • 同意.这也是唯一适用于Windows的答案.所有的单引号答案都没有什么奇怪的... (2认同)

ali*_*ard 109

键入node -p process.versions.v8以获取node.js版本.

然后转到node.js更改日志以查看此node.js版本包含的V8版本.

  • 或者,您可以通过process.versions询问节点安装了哪个版本.比通过更改日志搜索更容易一些.`node -e'console.log(process.versions.v8);'` (99认同)

Pet*_*hev 59

刚运行npm version(不知道何时可用)

> 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' }
Run Code Online (Sandbox Code Playgroud)


Ben*_*ber 31

要检查您的版本,请检查process.versionsREPL中的值.

node -e "console.log(process.versions.v8);"
Run Code Online (Sandbox Code Playgroud)

此外,如果需要,您可以使用其他版本的V8编译节点.显然,根据您选择的版本,结果可能会有很大差异.

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

./configure
make
make install
Run Code Online (Sandbox Code Playgroud)


Gau*_*aui 13

你可以输入:

node -p process.versions.v8


小智 9

只是为了好玩,如果您的终端中有卷曲,以下内容应该为您提供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
Run Code Online (Sandbox Code Playgroud)

例如,在我的node.js 0.4.7的框中,我得到:

3.1.8.10
Run Code Online (Sandbox Code Playgroud)

:)

  • 有趣的是,乐趣的定义如何因人而异:) (2认同)

Siy*_*lav 9

找到已安装的v8版本的节点.

$ node
> process.versions.v8
'5.1.281.83'
>
Run Code Online (Sandbox Code Playgroud)

where 进程对象是一个全局,提供有关当前Node.js进程的信息并对其进行控制.

如果你只是在节点repl中键入进程,你会看到有关节点的信息(即节点版本,v8版本,平台,env变量信息等)


rus*_*ust 9

如果你在Node.js版本7.7.3或类似的命令是

$ node -p "process.versions"
Run Code Online (Sandbox Code Playgroud)

但是那些上面的工作也很好.


Vad*_*dim 8

node -pe 'this.process.versions'     # all versions
node -pe 'this.process.versions.v8'  # v8 version
Run Code Online (Sandbox Code Playgroud)

  • 这怎么没有添加任何重要的东西?它添加了由节点建议的正确方法,以找出使用的版本.https://nodejs.org/en/docs/es6/#how-do-i-find-which-version-of-v8-ships-with-a-particular-version-of-node-js (4认同)
  • 一个好的答案将始终解释正在做什么以及为什么这样做,不仅对于OP而且对于未来的SO访问者. (2认同)