I am currently trying to compile a node app for macos using pkg:
First of all my setup:
macos 10.14.5 (Mojave)
node -v => v11.4.0
npm -v => 6.4.1
pkg -v => 4.4.0
My first try:
pkg index.js -t node11-mac-x64 --output dist/app-mac
Resulted in:
> pkg@4.4.0
> Error! No available node version satisfies 'node11'
Thats why i switched to:
pkg index.js -t node10-mac-x64 --output dist/app-mac
Result:
> pkg@4.4.0
> Warning
Cannot include addon %1 into executable.
The addon must be distributed with executable as %2.
node_modules/sha3/build/Release/sha3.node
path-to-executable/sha3.node
> Warning
Cannot include addon %1 into executable.
The addon must be distributed with executable as %2.
node_modules/websocket/build/Release/bufferutil.node
path-to-executable/bufferutil.node
> Warning
Cannot include addon %1 into executable.
The addon must be distributed with executable as %2.
node_modules/websocket/build/Release/validation.node
path-to-executable/validation.node
> Warning
Failed to make bytecode node10-x64 for file /snapshot/app/node_modules/brotli/build/encode.js
But the executable has been generated, so i tried to run it:
./app-mac
Which resulted in the total disaster:
pkg/prelude/bootstrap.js:1185
throw error;
^
Error: File '/**/app/node_modules/linebreak/src/classes.trie' was not included into executable at compilation stage. Please recompile adding it as asset or script.
at error_ENOENT (pkg/prelude/bootstrap.js:429:17)
at readFileFromSnapshot (pkg/prelude/bootstrap.js:657:29)
at Object.fs.readFileSync (pkg/prelude/bootstrap.js:700:18)
at Object.<anonymous> (/snapshot/app/node_modules/linebreak/src/linebreaker.js:15:32)
at Object.<anonymous> (/snapshot/app/node_modules/linebreak/src/linebreaker.js:161:4)
at Module._compile (pkg/prelude/bootstrap.js:1261:22)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:710:10)
at Module.load (internal/modules/cjs/loader.js:598:32)
at tryModuleLoad (internal/modules/cjs/loader.js:537:12)
at Function.Module._load (internal/modules/cjs/loader.js:529:3)
I already read every single issue on github related to pkg and tried various configurations, but none of them helped...
Can anybody please help? Trying to solve this issue for days now..
Thanks and greetings!
Is there no way i can package my application?
Update: In github they say, i have to include the .node files in the build process... but how do i do that?
I am too facing many problems using pkg
. But I think you should change that node10-mac-x64
to node14-mac-x64
. That worked for me on Windows .
And the thing you were talking about getting the .node
files, that's still a big problem. I tried to copy those with my .exe
file but it didn't work.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.