1

我使用 pkg 发布了使用 node-native-printer 模块的节点应用程序的可执行版本。

作为运行 node-native-printer 的先决条件,您需要安装 edge-js 包。

要遵循此处的表格,使用 pkg 我能够创建 app.exe 而没有任何错误或警告。

当我运行 app.exe 时问题很棘手,它失败并显示以下错误消息:

pkg/prelude/bootstrap.js:1185 抛出错误;^

错误:模块没有自注册。在 Object.Module._extensions..node (internal/modules/cjs/loader.js:728:18) 在 Module.load (internal/modules/cjs/loader.js:598:32) 在 tryModuleLoad (internal/modules/ cjs/loader.js:537:12) 在 Function.Module._load (internal/modules/cjs/loader.js:529:3) 在 Module.require (internal/modules/cjs/loader.js:635:17)在 Module.require (pkg/prelude/bootstrap.js:1166:31) 在对象的 require (internal/modules/cjs/helpers.js:22:18)。(C:\snapshot\edge-js-native-printer\node_modules\edge-js\lib\ enter code hereedge.js:104:8) 在 Module._compile (pkg/prelude/bootstrap.js:1261:22) 在 Object .Module._extensions..js (internal/modules/cjs/loader.js:710:10)

经过数小时的调试,我发现运行时的 pkg 无法要求 edge_nativeclr.nodeC:\snapshot\edge-js-native-printer\node_modules\edge-js\lib\native\win32\x64\10.14.0\edge_nativeclr

在 edge.js 的代码下:

process.env.EDGE_NATIVE = edgeNative

edge = require(edgeNative) /* pkg fails to require C:\snapshot\edge-js-native-printer\node_modules\edge-js\lib\native\win32\x64\10.14.0\edge_nativeclr */

exports.func = function(language, options) {
  if (!options) {
    options = language
    language = 'cs'
}

有人遇到这个问题吗?任何解决它的想法将不胜感激。

此致

4

0 回答 0