由于旧的 CentOS,将 node.js 从 v7 降级到 v0.10
Downgrade node.js from v7 to v0.10 because of old CentOS
我正在将 node.js 从 v7.7.4 降级到 v0.10.48,因为我在 CentOS 6.5 服务器上,显然 v0.10.48 是它可以处理的最新版本。像这样倒退有问题吗?
它应该有效
没有任何问题,它将像当前版本一样正常工作。
但是...
npm 上的模块兼容性会出现问题。许多模块可能无法正常工作。这部分是因为 Node v0.10 使用 V8 v3.14(为了比较,当前的 Node 版本使用 V8 v5.x)所以很多现代 JavaScript 语法在那里不起作用。
语法
有关语法有效和无效语法的详细信息:
例如,您将无法使用简单的箭头函数:
const add1 = x => x + 1;
甚至是 const
关键字。你会错过很多我们现在认为理所当然的语法,即使是在前端。请记住,io.js 是从 Node v0.12 分叉出来的,主要是因为它使用了如此过时的 V8 版本——实际上是几年前的事了,而且是比你想要使用的版本更新、更现代的版本。
核心API
那段时间核心模块也改变了很多 - 比较:
模块
因为当前版本的 Node 支持更新的语言语法并改进了核心 API,npm 上的许多模块将无法正常工作或根本无法工作。确保您使用的任何模块仍然支持 Node v0.10 或使用支持它的旧版本。你可能需要使用 shrinkwrap 来降级很多子依赖,因为即使你使用旧版本的模块,它曾经在 Node v0.10 上工作,它仍然可能加载它的最新版本的依赖,这些依赖不起作用没有了。
安全
此外,还会存在无法修复的错误和漏洞的潜在问题。 v0.10 版本维护于 2016-10-31 结束,该版本当前状态为:End-of-Life。今天(截至 2017 年 5 月)仍在维护的最旧版本是 4.x.
参见:
我正在将 node.js 从 v7.7.4 降级到 v0.10.48,因为我在 CentOS 6.5 服务器上,显然 v0.10.48 是它可以处理的最新版本。像这样倒退有问题吗?
它应该有效
没有任何问题,它将像当前版本一样正常工作。
但是...
npm 上的模块兼容性会出现问题。许多模块可能无法正常工作。这部分是因为 Node v0.10 使用 V8 v3.14(为了比较,当前的 Node 版本使用 V8 v5.x)所以很多现代 JavaScript 语法在那里不起作用。
语法
有关语法有效和无效语法的详细信息:
例如,您将无法使用简单的箭头函数:
const add1 = x => x + 1;
甚至是 const
关键字。你会错过很多我们现在认为理所当然的语法,即使是在前端。请记住,io.js 是从 Node v0.12 分叉出来的,主要是因为它使用了如此过时的 V8 版本——实际上是几年前的事了,而且是比你想要使用的版本更新、更现代的版本。
核心API
那段时间核心模块也改变了很多 - 比较:
模块
因为当前版本的 Node 支持更新的语言语法并改进了核心 API,npm 上的许多模块将无法正常工作或根本无法工作。确保您使用的任何模块仍然支持 Node v0.10 或使用支持它的旧版本。你可能需要使用 shrinkwrap 来降级很多子依赖,因为即使你使用旧版本的模块,它曾经在 Node v0.10 上工作,它仍然可能加载它的最新版本的依赖,这些依赖不起作用没有了。
安全
此外,还会存在无法修复的错误和漏洞的潜在问题。 v0.10 版本维护于 2016-10-31 结束,该版本当前状态为:End-of-Life。今天(截至 2017 年 5 月)仍在维护的最旧版本是 4.x.
参见: