过程:

  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

  • 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
  • img
  • 执行配置更改: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...


Bill
163 声望11 粉丝

职业:网管