邀请全网大佬解决我的worker_threads多线程bug

17 阅读1分钟

问题描述

我想在多线程里面去实现ffmepg处理视频,但是,在worker里面引入三方模块就会报下面的错误,我看了很多文章,都没找到解决方案,其实之前也有遇到在woker里面require其他模块会报找不到模块等错误,但是一直未解决,今天向全网征求解决方案,希望大佬提供可行性解决方案,抱拳了!

  • 环境:mac 11.7.9 + inter
  • node:18 || 16
  • koa: 2

// 使用

// worker.js  
const ffcreator = require('ffcreator')
// index.js  
const { Worker, isMainThread } = require('node:worker_threads');  
const worker = new Worker('./worker.js');

// 报错信息


Error: Module did not self-register: '/Users/duibagroup/project/tuia-videoidea-maker-node/node_modules/gl/build/Release/webgl.node'.  
at Module._extensions..node (node:internal/modules/cjs/loader:1460:18)  
at Module.load (node:internal/modules/cjs/loader:1203:32)  
at Module._load (node:internal/modules/cjs/loader:1019:12)  
at Module.require (node:internal/modules/cjs/loader:1231:19)  
at require (node:internal/modules/helpers:177:18)  
at bindings (/Users/duibagroup/project/tuia-videoidea-maker-node/node_modules/gl/node_modules/bindings/bindings.js:112:48)  
at Object. (/Users/duibagroup/project/tuia-videoidea-maker-node/node_modules/gl/src/javascript/native-gl.js:1:40)  
at Module._compile (node:internal/modules/cjs/loader:1364:14)  
at Module._extensions..js (node:internal/modules/cjs/loader:1422:10)  
at Module.load (node:internal/modules/cjs/loader:1203:32) {  
code: 'ERR_DLOPEN_FAILED'  
}

并且我想知道的是,在woker里面,require三方模块,他是如何工作的,为什么会出现这种情况的原因,如果有谁能解答一下,不胜感激。