过程:
- 尝试 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…