一、问题场景:
node版本由 10.15.3 (12.13.0)升级为 16.15.1,nvm版本1.1.10
正常升级流程:
- nvm v 查看nvm版本
- nvm list 查看nvm下的node (*为正在使用的node版本)
- nvm install 16.15.1 安装指定版本node
- nvm use 16.15.1 使用指定版本node
- npm -v 查看npm版本
二、问题:
(1) node-sass 问题
1、卸载旧版本的node-sass和sass-loader;
安装sass和sass-loader,不再使用node-sass;
把node_modules和lock文件删除,重新npm i 再运行。
npm uninstall node-sass
npm install sass-loader@8.0.2 sass@1.26.5 -D
2、deep由于node和sass版本不匹配,报错的解决办法:
尝试用 ::v-deep 全局替换 /deep/
(2) npm i 时报错 npm ERR! Unexpected token ‘.‘
1、nvm list查看已安装的node版本;
通过 nvm uninstall [version] 命令将已经安装的 node 版本依次删除,如 nvm uninstall 10.1.5.3 ;
2、 找到nvm文件夹
3、 双击 unins000.exe 卸载 nvm
4、下载 最新版本的nvm Releases · coreybutler/nvm-windows · GitHub
4、下载完后直接运行nvm-setup.exe 安装成功后可以先安装一个稳定版的node
nvm install 16.15.1 安装指定版本node
nvm use 16.15.1 使用指定版本node
(3) npm 警告 npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.
1、 找到对应node的文件夹,修改两个文件 npm 和 npm.cmd
2、将npm文件的第23行,将npm.cmd文件的第12行修改成下图样式
prefix --location=global