как требовать file.node в pkg - PullRequest
       18

как требовать file.node в pkg

0 голосов
/ 19 сентября 2019

Я использовал pkg для доставки исполняемой версии моего приложения узла, в котором используется модуль node-native-printer.

В качестве предварительного условия для запуска node-native-printer вам необходимо установить пакет edge-js.

Чтобы заполнить форму здесь, используя pkg, я смог создать app.exe без каких-либо ошибок или предупреждений.

Проблема, возникающая при запуске app.exe, завершается с ошибкой, приведенной ниже.msg:

pkg / prelude / bootstrap.js: ошибка 1185 выброса;^

Ошибка: модуль не зарегистрировался самостоятельно.в Object.Module._extensions..node (внутренний / modules / cjs / loader.js: 728: 18) в Module.load (внутренний / modules / cjs / loader.js: 598: 32) в tryModuleLoad (внутренний / modules /cjs / loader.js: 537: 12) в Function.Module._load (внутренний / modules / cjs / loader.js: 529: 3) в Module.require (внутренний / modules / cjs / loader.js: 635: 17)в Module.require (pkg / prelude / bootstrap.js: 1166: 31) по требованию (internal / modules / cjs / helpers.js: 22: 18) в Object.(C: \ snapshot \ edge-js-native-printer \ node_modules \ edge-js \ lib \ e enter code here dge.js: 104: 8) в файле Module._compile (pkg / prelude / bootstrap.js: 1261: 22) в Object.Module._extensions..js (внутренняя / modules / cjs / loader.js: 710: 10)

После нескольких часов отладки я обнаружил, что pkg во время выполнения не может требовать edge_nativeclr.node находится по адресу C:\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'
}

кто-нибудь сталкивался с этой проблемой?Любая идея, чтобы решить это будет оценено.

С уважением

...