前端使用nodejs镜像进行打包,node版本为14.21.3
前端使用nodejs镜像进行`npm run build打包时,提示下面错误:
Error: Missing binding /xxxxx/node_modules/node-sass/vendor/linux-x64-83/binding.node
或:
Error: Missing binding /xxxxx/node_modules/node-sass/vendor/darwin-x64-72/binding.node
仔细看报错原因,我们可以看出是却少了某些文件,导致绑定不到对应的文件。
解决方法:
可以看到是生成的node_modules
文件夹下的文件找不到,
锁定目标后,我们针对这个文件夹解决问题就好了。我是采用第三种方法解决这个bug的。
- 尝试重新执行
npm install
,生成新的node_modules文件; - 尝试重新执行
npm rebuild node-sass
,针对这个缺失的文件单独生成; - 找到具体node-sass链接,进入url:
https://registry.npmmirror.com/binary.html?path=node-sass/v4.14.0/
https://github.com/sass/node-sass/releases
下载报错提示的指定版本
:在页面中找到报错中你需要的版本,下载到本地- 在…/node_modules/node-sass/vendor目录下
新建目录 linux-x64-83
, - 将下载的文件放在此目录下,并
更名为binding.node
- 重新npm run build运行代码,大功告成!
- ps: 下载的文件一定是跟你报错的文件和版本要一致