前端项目本地的node_modules直接上传到服务器上无法直接使用(node-sasa模块报错)

跑 jekins任务的服务器不能连接外网下载依赖包,就将本地下载的 node_modules直接上传到服务器上,但是运行时node-sass模块报错了ERROR in Missing binding /root/component/node_modules/node-sass/vendor/linux-x64-48/binding.node

>> 报错信息类似这样

在这里插入图片描述

>> 原因分析

报错信息说 binding.node文件与当前系统环境不匹配。
node-sass模块安装时会有根据当前的系统环境下载对应的 binding.node文件,在 /node_modules/node-sass/vendor/目录下。本地开发一般是 windows 或者 macos系统,而服务器是 linux系统,所以本地下载的 node_modules中没有 linux对应的 binding.node文件,直接搬运到服务器上运行就会报错。

>> node-sass文件目录类似这样

在这里插入图片描述

>> 解决方法

鉴于这台服务器不能连接外网,无法重新下载依赖包,只能手动在/node_modules/node-sass/vendor/目录下上传跟当前 linux环境匹配的binding.node文件。

  1. 可以到 github上去下载对应版本的 binding.node文件,按照指定的目录结构上传到服务器上
    github地址: https://github.com/sass/node-sass/releases
  2. 我们这台服务器上还有其他前端项目也用到相同版本的node-sass插件,我就直接到这些前端项目的 node_modules下把 binding.node文件拷贝过来用了
  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值