如何与 NodeJs 一起安装 V8? 我当前的 V8引擎是什么版本?
简单的方法: 输入命令行: node -p process.versions.v8
node -p process.versions.v8
艰难的道路:
键入 node --version获取 Node.js 版本。
node --version
去 Node.js Changelogs。
查找并打开适当的 Node.js 版本更改日志。
查找包含 V8 to的笔记。
V8 to
只是为了好玩,如果您的终端中有 curl 可用,下面应该会提供 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
例如,在我的 node.js 0.4.7框中,我得到:
3.1.8.10
:)
要检查您的版本,请在 REPL 中检查 process.versions中的值。
process.versions
node -e "console.log(process.versions.v8);"
此外,如果需要,还可以使用其他版本的 V8编译节点。显然,根据您选择的版本,这里的结果可能有很大的不同。
cd node-v0.x.x rm -rf deps/v8 git clone http://github.com/v8/v8.git deps/v8 ./configure make make install
一句话的解决方案: node -p process.versions.v8
替代方案: node -e "console.log(process.versions.v8)"
node -e "console.log(process.versions.v8)"
只要运行 npm version(不知道什么时候可用)
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' }
node -pe 'this.process.versions' # all versions node -pe 'this.process.versions.v8' # v8 version
你只需要输入:
使用节点查找已安装的 v8版本。
$ node > process.versions.v8 '5.1.281.83' >
其中,程序对象是一个全局对象,它提供有关当前 Node.js 进程的信息并对其进行控制。
如果您只是在节点 repl 中键入 process,您将看到有关节点的信息(即节点版本、 v8版本、平台、 env 变量 info 等)
如果您使用的是 Node.js 版本7.7.3或类似版本,那么命令是
$ node -p "process.versions"
但是上面那些也很好用。
您还可以使用 docker 检查任何 nodejs v8版本,如 node 10.7.0: Docker run —— rm-it node: 10.7.0 bash-c“ node-p process.version”
10.7.0
Docker run —— rm-it node: 10.7.0 bash-c“ node-p process.version”
其他的答案非常适合检查您当前的版本。这里还有一个包含所有 Node.js 版本的表: https://nodejs.org/en/download/releases/。例如:
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
V8与 Node.js 绑定在一起。通过从 node存储库查看 v8 ChangeLog,您可以看到任何版本的 Node.js 正在使用的 v8版本以及它进入生产环境的时间。这是当前的 master (如果从源代码构建) : Https://github.com/nodejs/node/commits/master/deps/v8/changelog
node
ChangeLog
要查看特定版本的 Node.js,请将分支切换到该版本并检查 ChangeLogs 文件历史记录。
更新:
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>