乐趣区

关于前端:linux打包vue无报错运行异常记录

过程:

  1. 尝试 node6.x 版本下载依赖,下载失败,无解决方案,狐疑是版本过低
  2. 尝试 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 依赖报错,有一些解析器没下载到,须要一点一点排查下载
  3. 尝试与 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.0yarn 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…

退出移动版