Win7使用最新的node.js(版本18.16.0)

发布时间 2023-06-11 21:35:28作者: 黑月教主

截至本文的发布时间2023.06.11,前端开发基础工具node.js的最新版本是 18.16.0 LTS

可能有人要问,为什么要研究node.js在Win7系统下的兼容情况呢?你直接用Win10不就行了?

如果你可以直接使用Win10,显然你不是这篇文章的推荐阅读对象,因为某些开发环境比较特殊,只能使用Win7而不允许使用Win10(如政府项目等,不过多解释,确实是有这种需求的)

先说结论,在Win7上是完全可以使用18.16.0版的node.js的。

只需要确保两个前提就可以了。

一、不要使用安装版本的node.js

如果你直接下载msi格式的安装包,在安装时会提示最低要求Win版本是Win8.1或Server 2012,然后拒绝安装。

所以我们直接转到Download页面下载zip格式的安装包就可以了。

下载回来之后,直接解压到设定的目录,如D:\dev,那么完整路径可能是 D:\dev\node-v18.16.0-win-x64 ,将这个路径加入到环境变量PATH里面就可以了。

 

 二、确保Win7已经打了最新的补丁

有些同学在按上面的部署操作完之后,执行node -v会提示某某某函数找不到入口点。如下:

 这是因为没有打新的补丁,系统文件版本较老,advapi32.dll中根本没有EventSetInformation这个API函数(据MSDN,这个函数是Win8/Server2012才有的,所以这就是为什么node.js的msi安装版本会以这个作为最低操作系统版本)

但是,Win7新的补丁里面,advapi32.dll也有这个函数了,所以运行环境是完全没问题的。如果你运行node时有上面的提示,注意检查一下advapi32.dll的版本。

下图是可以正常运行新版node的文件版本,供读者参考。

 但是这时候运行node还是会有一个警告提示:

 要我说,其实node给这个提示完全没有必要。因为就两种结果,要么像上面一样找不到API函数直接跑不起来,这时候exe都没法执行成功,根本看不到这个提示。要么就是直接跑起来了,此时再提示完全没有必要。

就像你在火车上采访乘客有没有买到票一样,能坐在火车上的当然都有票喽~~

当然了,node既然提示了,也给出了解决办法,也就是设置一个环境变量就可以了。

set NODE_SKIP_PLATFORM_CHECK=1

然后再执行node -v就可以看到版本信息了.

 注意看操作系统版本哦,6.1.7601,是Win7没错了。

不过每次开cmd如果都要这么设置太麻烦,我们把这个环境变量直接配置成固定的就可以了。

 这样就可以愉快的使用新版本的node.js开发啦!