Windows如何把已安装的node.js高版本降级为低版本:解决Module build failed: Error: Node Sass does not yet support 你的当前环境

今天在前端项目打包编译时报错如下:

具体内容如下: 

Module build failed: Error: Node Sass does not yet support your current environment: Windows 64-bit with Unsupported runtime (93)
For more information on which environments are supported please see:
https://github.com/sass/node-sass/releases/tag/v4.14.1
    at module.exports (E:\project_test\hello_vue\node_modules\[email protected]@node-sass\lib\binding.js:13:13)
    at Object.<anonymous> (E:\project_test\hello_vue\node_modules\[email protected]@node-sass\lib\index.js:14:35)
    at Module._compile (node:internal/moduless/loader:1103:14)
    at Object.Module._extensions..js (node:internal/moduless/loader:1157:10)
    at Module.load (node:internal/moduless/loader:981:32)
    at Function.Module._load (node:internal/moduless/loader:822:12)
    at Module.require (node:internal/moduless/loader:1005:19)
    at require (node:internal/moduless/helpers:102:18)
    at getDefaultSassImpl (E:\project_test\hello_vue\node_modules\[email protected]@sass-loader\dist\index.js:198:10)
    at Object.loader (E:\project_test\hello_vue\node_modules\[email protected]@sass-loader\dist\index.js:80:29)

打开提示的网站看一下 Release v4.14.1 · sass/node-sass · GitHub

  

当前node-sass支持的最高版本为14 

再看一下我的node版本 

显然我系统的node版本过高导致的编译异常,只需要将版本降低到14及以下。

在网上能降级的方法,发现node版本管理模块n目前不能运行在Windows系统上,但是自己把node-sass卸载重新安装为适合当前node的版本又显示和项目文件不兼容。权衡半天,还是打算卸载自己原有的node.js,安装node版本控制工具nvm,这样就可以一劳永逸了。

安装nvm

一、彻底卸载原有的node.js

可以通过安装包卸载,控制面板卸载同时把node安装目录下的全部目录和文件都删掉。

我这里是使用的第三方软件geek卸载的。

二、下载并安装nvm管理工具 

1. 从官网下载安装包https://github.com/coreybutler/nvm-windows/releases

  

2. 解压,以管理员身份运行安装包,点I accept ....然后next 

选择nvm安装目录,建议自定义路径,建议路径不要包含中文

选择node.js目录,建议自定义目录,可以提前建好目录,目录最好不要包含中文 

点install

finish

注:安装完成后node安装目录是消失了的,因为没用用管理员激活node。 

3. 测试nvm是否安装成功

正确输出版本号就说明安装成功了

4. 安装node.js版本

(1)输入命令查看可安装的版本:

nvm ls available

(2)输入命令行nvm install node版本号(例如:nvm install 14.16.1)即可安装对应版本以及自动安装对应的npm版本。除了上面显示的node.js版本,其他版本号也可以下载,只不过有些可以准确下载,有些会出现npm版本不会自动下载。(安装node和切换node环境都用管理员,这样能激活node状态)输入指令安装

nvm install 12.17.0

发现安装太慢了,这是因为我们默认的下载地址( http://nodejs.org/dist/)是国外的所以下载就会很慢,那就配置为淘宝镜像源。

(3)找到我们nvm安装目录,打开setting.txt文件。

复制粘贴如下到setting.txt文件 

arch: 64
proxy: none
node_mirror: http://npm.taobao.org/mirrors/node/
npm_mirror: https://npm.taobao.org/mirrors/npm/

(4)再次执行命令安装(安装node和切换node环境都用管理员,这样能激活node状态)

nvm install 12.17.0

很快就安装好了

(5)测试是否安装成功

出现这个是因为我之前的卸载node.js后环境变量里面有关node.js的没有完全清除。比如什么node_glbal这些,先把这些删了,然后检查用户变量和系统变量多出来的NVM_HOME和NVM_SYMLINK位置是否为我们的nvm和node.js安装目录。

最后一定一定要注意:我们第一次安装node.js时,node.js安装目录一定要为空

卸载重新安装,然后就能正确输出版本号了

 安装完后,node安装目录下有了这些东西,到了这一步,我们的前端环境就搭建好了,后面为选择性安装。

我们可以设置全局安装目录和缓存日志目录(选择性)

npm config set prefix "目录名"        (推荐直接使用安装目录下文件夹node_global)

npm config set cache "目录名"        (推荐直接使用安装目录下文件夹node_cache,需要自己建)

同时可以修改下载源为淘宝镜像

npm config set registry https://registry.npm.taobao.org

全局安装npm、cnpm

在安装node的时候,npm其实也已经一起安装了。因为nvm可以管理多个版本的node,如果每次添加一个node版本都要安装一堆的包很麻烦,如果有一个npm可以让各个版本的node共用,就不会这么麻烦了。

1. 配置用npm下载包时全局安装的包路径(这里选择的是nvm安装目录下新建的一个npm目录,可以其它,例如上面说到的现成的node安装目录下文件夹node_global)

npm config set prefix "E:\Java\nvm\npm"

2. 安装全局npm,不同的node都使用这个npm。想更新全局的npm的话首先删除全局路径(就是上一行命令的地址,可以使用npm config ls查看)下的npm,再执行一次这个命令即可。

npm install npm --registry=https://registry.npm.taobao.org -g

3.  在系统变量中添加NPM_HOME=E:\Java\nvm\npm,path中添加%NPM_HOME%。这里需要注意的是,%NPM_HOME%要添加在%NVM_SYMLINK%之前,避免npm访问到的是nodejs中自带的npm包管理工具。

使用淘宝镜像cnpm

1. 使用淘宝镜像cnmp替代npm

npm install cnpm --registry=https://registry.npm.taobao.org -g

2. 验证cnpm是否可用

cnpm config get registry

最后再次打包编译

 成功了 !!!

本文参考:window下安装并使用nvm(含卸载node、卸载nvm、全局安装npm)_hst❀的博客-CSDN博客_win10 卸载nvm 

猜你喜欢

转载自blog.csdn.net/m0_57545353/article/details/124407977