【问题标题】:How to determine the Node.js version from source code如何从源代码中确定 Node.js 版本
【发布时间】:2017-01-21 05:07:34
【问题描述】:

我的机器上没有安装 Node.js。

我收到了一个用 Node.js、Express 和 AngularJS 编码的应用程序的源代码。

要像任何其他客户端 javascript 库一样确定 Angular.js 版本,我可以打开文件名并获取版本。

在我的应用程序的根文件夹中有一个node_modules 文件夹,但是我看不到它的 Node.js 版本。它确实有一个包含 Node.js 的调试子目录,但打开文件并没有显示版本号。

当我访问Node.js 网站时,它给了我两个版本选项:4.5 或 6.5。如果我什至不知道源代码的编写版本,我应该使用哪一个?

【问题讨论】:

  • 如果安装了Node.js,请通过node -v检查节点版本
  • 正如我的问题第一行中提到的,我还没有安装node.js
  • 那你必须先安装node.js 你可以参考官网的具体操作系统nodejs.org/en
  • 我问我应该安装哪个版本的 Node.js?一个node.js站点有一个4.5和6.5?

标签: node.js


【解决方案1】:

由于 node.js 没有与源代码捆绑在一起,您必须自己查找。应用程序的根目录中是否有 package.json?所需的 node.js 版本可能在 "engines" 声明。除此之外,您的应用程序的依赖项可能还有一些要求。因此安装 node.js 4.5 LTS 并运行 npm install 可能会提供一些见解。

是否存在测试?如果有合理的代码覆盖率,运行它们可以让您在猜测每个功能是否都适用于您安装的 node.js 版本时有一定的安全性。

通常,您的 package.json 中列出的依赖项将决定您必须使用的节点版本。因此,如果npm install 有效,那么您将有一个良好的开端。如果原作者使用了 ES6 功能,则可能会例外,这意味着您必须运行一个相当新的版本。

【讨论】:

  • 我查看了我的packages.json 并没有"engines" 部分。至少可以看到快递版"express": "4.13.0",
  • @choba78 4.13.0 是最近的(2015 年 1 月 github.com/expressjs/express/releases)。我会尝试 Node.js 的 4.x LTS 版本。
  • 那么我可以假设 4X 版本向后兼容早期的 4X 版本吗?
  • @choba78 有关语义版本控制的说明,请参阅semver.org。次要更新增加了功能,但保持向后兼容。但你最好的办法是尝试和测试,直到你确定你的应用程序可以与所选版本的 nodejs 一起工作。
猜你喜欢
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 2019-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多