问题描述
升级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