前言
投降投降 重头再来 重装环境 也就分分钟的事 偏要折腾 这下好了1天了 还没折腾出来
问题的源头是node 使用的高版本 方案那就用 本机可切换多版本
最终问题是因为nodejs的版本太高,导致的node-sass不兼容问题,我的node是v16.14.0的版本,项目中用了"node-sass": "^4.7.2"版本,无法匹配当前的node版本
根据文章的提示和https://github.com/sass/node-sass node-sass 支持的最低和最高版本的快速指南,对项目里的包进行修改
修改node-sass的版本,即可成功构建
"node-sass": "^6.0.1"
"sass-loader": "^10.2.0 这都是坑的配置
安装多版本node的原因:
在项目开发过程中,不同项目使用的node版本不同,有时会因为node版本过高或太低,导致报错;如何在同一个系统中安装多个版本的node呢,这里有两种方式,往下看选择适合你的方式吧
方法一:利用nvm进行管理
NVM 简介
NVM 全称 Node Version Manager,是一个管理 NodeJS 版本的工具。
NVM 默认只支持 Linux 和 OS X,不支持 Windows,针对 Windows 操作系统有 2 个替代方案:
nvm-windows
nodist
这里只介绍使用nvm-windows安装和切换多版本NodeJS的方法。
提示:以下是本篇文章正文内容,下面案例可供参考
Releases · coreybutler/nvm-windows · GitHub
注意:安装环境 win10
系统,64
位
nvm安装(注:最好不要装在C盘)(1)在指定的文件下新建两个文件夹,一个用来存放nvm的安装文件,另一个用来存放node的文件
(2)将下载好的安装包放入nvm文件夹中,解压,进行安装。
注意:安装时选择开始新建的文件夹作为指定安装目录
(3)选择nvm安装路径,点击下一步
(4)选择nodejs路径
(5)点击 Install——>点击 Finish,安装完成。(6)确认是否安装成功
打开CMD,输入命令 nvm
命令,安装成功则如下显示
(7)到此nvm已经安装成功
如果有安装淘宝镜像的需完成下载镜像的配置,没有可跳过
打开nvm文件夹下的settings.txt文件,在最后添加以下代码(不改,下载node可能会报错)
代码如下:
arch: 64 proxy: node_mirror: https://npm.taobao.org/mirrors/node/ npm_mirror: https://npm.taobao.org/mirrors/npm/
注:
arch:Windows 操作系统位数
proxy:代理,淘宝 NodeJS 镜像和 NPM 镜像
root:NVM 安装路径
path:NodeJS 快捷方式路径
2.
node 的不同版本安装及切换
NVM 安装成功后,win + r 输入cmd 新开cmd窗口,可以通过
nvm -v
命令查看所有可用的命令。
安装成功后在 NVM 安装目录下出现一个 v8.16.2 文件夹,使用
nvm list
命令查看已安装 NodeJS 列表。再次使用
nvm install <版本号>
命令安装另一版本的 NodeJS使用
nvm use <版本号>
切换需要使用的 NodeJS 版本,切换成功后可以使用node -v
和npm -v
命令查看是否切换成功。
代码如下:
nvm install v8.16.2 nvm list nvm install v10.16.0 nvm install v14.16.1 nvm use v8.16.2 nvm use v14.16.1 nvm ls nvm off // 禁用node.js版本管理(不卸载任何东西) nvm on // 启用node.js版本管理 nvm install <version> // 安装node.js的命名 version是版本号 例如:nvm install 8.12.0 nvm uninstall <version> // 卸载node.js是的命令,卸载指定版本的nodejs,当安装失败时卸载使用 nvm ls // 显示所有安装的node.js版本 *是当前版本 nvm list available // 显示可以安装的所有node.js的版本 nvm use <version> // 切换到使用指定的nodejs版本 nvm v // 显示nvm版本 nvm install stable // 安装最新稳定版
这里需注意使用nvm use <版本号>
时可能出现乱码的情况。
不要慌张,不要生气,这时候用重新打开一个以管理员身份运行cmd窗口就不会出现乱码的情况,使用nvm use <版本号>
切换需要使用的 NodeJS 版本,使用nvm ls
查看所有安装的node版本,版本号前面带有*
号的表示当前使用的NodeJS版本。