【问题标题】:How to check which version of v8 is installed with my NodeJS?如何检查我的 NodeJS 安装了哪个版本的 v8?
【发布时间】:2011-03-18 18:11:26
【问题描述】:

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

【问题讨论】:

    标签: node.js v8


    【解决方案1】:

    简单的方法:
    输入命令行:node -p process.versions.v8

    艰难的路:

    1. 键入 node --version 以获取 Node.js 版本。

    2. 转到Node.js Changelogs

    3. 查找并打开相应的 Node.js 版本更改日志。

    4. 查找包含V8 to 的注释。

    【讨论】:

    • 或者,您可以通过 process.versions 询问节点安装了哪个版本。比浏览更改日志要容易一些。 node -e 'console.log(process.versions.v8);'
    • 当我输入“node --version”时,我没有收到错误消息,但也没有收到任何信息……只是再次显示提示。知道为什么吗?
    • 链接不再更新,正如 Ben Taber 多年前指出的那样,谢天谢地 there's a much more direct, straightforward way
    • 这个答案不错,不过@Peter Dotchev's answer更有用
    【解决方案2】:

    只需运行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' }
    

    【讨论】:

    • 最佳答案。此外,NPM 的 CLI 是一个 whackadoo——如果你在上面添加一个参数,它会增加你的 package.json 文件中的版本,制作并标记一个 git 提交。非常奇怪的用户体验,但这很有用。
    • 你的答案是这个问题的最佳答案......不幸的是我只能投票一次......谢谢
    • 最好的答案,因为它教授了一种可以重复用于其他包的方法。
    【解决方案3】:

    一条线解决:
    node -p process.versions.v8

    替代方案:
    node -e "console.log(process.versions.v8)"

    【讨论】:

    • 同意。这也是唯一适用于 Windows 的答案。所有的单引号答案都没有什么奇怪的......
    • node -p process.versions.v8 有点短。这并不重要,但也许有人在乎。
    • 这个答案不错,不过@Peter Dotchev's answer更有用
    【解决方案4】:

    其他答案非常适合检查您当前的版本。这里还有一个包含所有 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
    

    【讨论】:

      【解决方案5】:

      如果您使用的是 Node.js 版本 7.7.3 或类似版本,则该命令为

      $ node -p "process.versions"
      

      但是上面的那些也可以正常工作。

      【讨论】:

        【解决方案6】:

        您只需输入:

        node -p process.versions.v8

        【讨论】:

          【解决方案7】:

          只是为了好玩,如果您的终端中有 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
          

          :)

          【讨论】:

          • 有趣的乐趣的定义如何因人而异:)
          【解决方案8】:

          用node找到已安装的v8版本。

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

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

          如果你只是在 node repl 中输入 process,你会看到关于 node 的信息(即 node 版本、v8 版本、平台、env 变量信息等)

          【讨论】:

            【解决方案9】:

            要检查您的版本,请检查 REPL 中 process.versions 中的值。

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

            此外,如果您愿意,您可以使用其他版本的 V8 编译 node。显然,根据您选择的版本,此处的结果可能会有很大差异。

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

            【讨论】:

            • +1,不过我不得不使用node -e console.log(process.versions.v8);否则什么都没有输出。
            • 看起来节点在某些时候发生了变化,感谢您的提示。编辑了响应以反映这一点。
            【解决方案10】:
            node -pe 'this.process.versions'     # all versions
            node -pe 'this.process.versions.v8'  # v8 version
            

            【讨论】:

            • 一个好的答案总是会解释正在做什么以及为什么这样做,不仅是为了 OP,也是为了未来的访问者。
            • 投反对票,因为它对 3 年前发布的这个问题中最受好评的答案没有任何重要意义。
            • 这怎么没有添加任何重要的东西?它添加了节点建议的正确方法来找出使用的版本。 nodejs.org/en/docs/es6/…
            【解决方案11】:

            您还可以使用 docker 检查任何 nodejs v8 版本,例如 node 10.7.0 docker run --rm -it node:10.7.0 bash -c "node -p process.versions"

            【讨论】:

              【解决方案12】:

              v8 与 Node.js 捆绑在一起。通过查看来自 node 存储库的 v8 ChangeLog,您可以查看任何版本的 Node.js 正在使用的 v8 版本以及它何时投入生产。这是当前的主人(如果从源代码构建): https://github.com/nodejs/node/commits/master/deps/v8/ChangeLog

              要查看特定版本的 Node.js,请将分支切换到该版本并检查 ChangeLogs 文件历史记录。

              【讨论】:

                【解决方案13】:

                更新:

                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>
                

                【讨论】:

                  猜你喜欢
                  • 2018-02-15
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2012-02-13
                  • 1970-01-01
                  • 2015-04-14
                  • 1970-01-01
                  相关资源
                  最近更新 更多