node-sass在内网环境下的安装编译报错
2023-09-11 14:15:07 时间
问题描述
升级node版本后,本地编译成功,将本地node_modules.zip
传到云效,在云效(linux
)服务器编译前端报错,node-sass找不到binding.node
问题分析
node升级后一般都要重装node-sass,本地执行 npm rebuild node-sass
即可,但是云效服务器编译报错,原因在于win和linux需要安装的node-sass不同造成的。
问题解决
本地(window)环境,node升级后编译打包正常,将代码和node_modules.zip
上传到云效,由于本地无法为linux
系统安装node-sass
,所以可以下载linux
对应的node-sass版本,放在 node_modules/node-sass/vendor
文件夹下。此时不需要在再执行 npm rebuild node-sass
了,重新在云效执行编译即可。
注意 win 和 linux 版本要对应
# win
- vendor
-- win32-x64-88
--- binding.node
# linux
-- linux-x64-88
--- building.node
备注问题
- 编译和打包报警告
Deprecation Warning: Using / for division outside of calc() is deprecated and will be removed in Dart Sass 2.0.0.
# 提示:sass2.0.0 之后弃用除法符号“/”,sass自定义element theme时会报warnning。
# 解决方法
npm install -g sass-migrator
cd node_modules
sass-migrator division **/*.scss
- 也可以考虑弃用node-sass改用dart-sass来解决问题,以下:
- 升级node后考虑弃用node-sass,改用dart-sass,但是安装dart-sass后依然报上面的警告。
EPRECATION WARNING: Using / for division is deprecated and will be removed in Dart Sass 2.0.0.
Recommendation: math.div($px, $html-font-size)
More info and automated migrator: https://sass-lang.com/d/slash-div
╷
18 │ @return $px / $html-font-size * 1rem;
│ ^^^^^^^^^^^^^^^^^^^^^
# sass版本 >1.26.x 对 / (除法)做了优化 ,不提倡用了。所以还用 / (除法)的话,最高版本只能1.26.x
# 所以解决这个问题的方法就是在package.json文件中:
# "sass": "^1.26.5", 替换为 "sass": "~1.26.5",
"sass": "~1.26.5",
"sass-loader": "^8.0.2"
参考链接
相关文章
- NODE安装N管理出错
- Node.js安装及环境配置之Windows篇
- 安装node-sass失败
- node-sass安装失败
- 基于Node.js的Java虚拟机:node-jvm
- 如何在 Debian 和 Ubuntu 上安装 MariaDB 10
- Linux 有问必答:如何在 Linux 上安装 Node.js
- Linux上安装Node.js
- linux平台下node cnpm的安装方法
- centos7安装node
- Ubuntu18.04下MySQL5.7的安装
- 淘宝镜像安装方法
- 安装node
- 《Node.js入门经典》一2.3 安装模块
- Centos基础环境--docker安装mysql8.0
- Centos6.4编译安装Node.js(已验证)
- node cnmp 安装
- windows系统下安装 node.js (node.js安装及环境配置)
- rocketMQ 安装与启动
- cuDnn的安装ubuntu16.04环境下(tensorflow正式安装之前的必备安装操作)
- 技术贴:弱电安防监控管理系统安装技术重点
- centos 安装node.js
- npm安装vue-cli报错internal/modules/cjs/loader.js(Error: Cannot find module 'D:Programnodejsnode_globalnode_modulesvue-clibinvue')
- 安装Node.js、npm和环境变量的配置
- Manjaro安装后你需要这样做(仅有网址)
- linux安装mysqlclient报错
- centos7安装sql-server2017
- eletron安装卡在 node install.js,解决方案
- node.js—安装bcrypt出现错误的解决办法