过程:
- 尝试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
ls –s /usr/local/src/nodejs/bin/node /usr/local/bin/node
ls –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…
发表回复