过程:
- 尝试node6.x版本下载依赖,下载失败,无解决方案,怀疑是版本过低
尝试node16.x版本下载依赖,下载失败,报错gcc与python报错,通过排查,发现是node-sass与sass-loader依赖底层对gcc与python版本有要求,通过npm文档找到对应node16+版本(node-sass:6.0.1 ,sass-loader;6.0.6)
- 下载依赖的时候先从package.json删除node-sass与sass-loader
- 下载依赖遇到权限npm报错,通过sudo都不行的话检查下是否存在package-lock.json,有的话删除,还不行的话尝试全局下载yarn(npm install –g yarn),通过yarn下载依赖
- 下载依赖完成后运行打包命令可能会遇到loader依赖报错,有一些解析器没下载到,需要一点一点排查下载
- 尝试与window同版本node(v12.10.0),用原先的依赖包(nodev6.10.0依赖)打包编译错误,sass相关依赖报错,升级为nodev12.10.0支持的sass版本(node-sass:v4.12.0,sass-loader:7.1.0)打包编译成功,运行成功
方法:
配置node
- 进入/usr/local/src:cd /usr/local/src
- 安装node:
wget https://nodejs.org/download/release/v12.10.0/node-v12.10.0-linux-x64.tar.gz
- tar命令解压:
tar –zxvf node-v12.10.0-linux-x64.tar.gz
- node12改名字为nodejs方便后续操作:mv node-v12.10.0-linux-x64 nodejs
配置全局node
ln –s /usr/local/src/nodejs/bin/node /usr/local/bin/node
ln –s /usr/local/src/nodejs/bin/npm /usr/local/bin/npm
cd ~
vi .bash_profile
- 原先的PATH路径后新增(---:/usr/local/src/nodejs/bin):
PATH=$PATH:$HOME/bin:---:/usr/local/src/nodejs/bin
- 执行配置更改:
source .bash_profile
node –v
查看版本是否全局配置成功- 进入前端代码目录
cd /home/compile/auto_make_Nxsds_2_3/vcmp-frontend-NxSDS23/
- 先删除package.json里的sass-loader与node-sass,如果有package-lock.json需要删除掉该文件
- 配置npm 源:
npm config set registry=https://registry.npmmirror.com
- 查看是否配置成功:
npm config get registry
- 通过npm下载node-sass先:
npm install node-sass@4.12.0
,再下载sass-loader:npm install sass-loader@7.1.0
- 如果npm下载失败可以尝试用yarn下载;先安装
yarn;npm install –g yarn
;再安装sass;yarn add node-sass@4.12.0
;yarn add sass-loader@7.1.0
- 查看node_modules是否已安转其他依赖项(运行上面的add正常会自动安装其他依赖,或者直接运行
yarn install
);没有的话再运行yarn install
- 环境搭建完成
总结:
通过升级node版本也与对应node-sass、sass-loader可以解决问题;升级node12打包编译之后直接退出命令行,升级node16需要ctrl+C才能退出
资料:
1、 node for linux历史版本:https://nodejs.org/zh-cn/down...
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。