问题描述
我想在多线程里面去实现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三方模块,他是如何工作的,为什么会出现这种情况的原因,如果有谁能解答一下,不胜感激。