process.dlopen 错误处理

前提:使用 cmake-js 编译 native 的 node 包,在使用 node test.js 运行 js 文件时会报错

node:internal/modules/cjs/loader:1340
  return process.dlopen(module, path.toNamespacedPath(filename));
                 ^

Error: The specified module could not be found.
\\?xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
    at Module._extensions..node (node:internal/modules/cjs/loader:1340:18)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12)
    at Module.require (node:internal/modules/cjs/loader:1143:19)
    at require (node:internal/modules/cjs/helpers:121:18)
    at Object.<anonymous> (xxx.js:1:18)
    at Module._compile (node:internal/modules/cjs/loader:1256:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1310:10)
    at Module.load (node:internal/modules/cjs/loader:1119:32)
    at Module._load (node:internal/modules/cjs/loader:960:12) {
  code: 'ERR_DLOPEN_FAILED'
}

  

google 了类似的案例,很多结论是重装 npm 模块,我尝试后并没有解决问题

后面在缩小代码的测试范围,发现是缺少三方库的 dll 文件,补上这块的 dll 文件就能正常运行了

结论:遇到这种没遇到过的错误,即使从网上查找类似案例也极有可能误导我们解决问题的方向,在尝试了他们提到的方法还是没法解决时,可以从最小的测试范围解决问题

 
posted @ 2025-01-23 19:15  strive-sun  阅读(244)  评论(0)    收藏  举报