[英]Node - Cross Plattform compilation - PKG
I am currently trying to compile a node app for macos using pkg:我目前正在尝试使用 pkg 为 macos 编译一个节点应用程序:
https://github.com/zeit/pkg https://github.com/zeit/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...我已经阅读了 github 上与pkg相关的每一个问题并尝试了各种配置,但没有一个有帮助......
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?更新:他们说在 github 中,我必须在构建过程中包含 .node 文件......但我该怎么做?
I am too facing many problems using pkg
.我在使用
pkg
遇到了很多问题。 But I think you should change that node10-mac-x64
to node14-mac-x64
.但我认为您应该将该
node10-mac-x64
更改为node14-mac-x64
。 That worked for me on Windows .这在 Windows 上对我有用。
And the thing you were talking about getting the .node
files, that's still a big problem.你所说的获取
.node
文件,这仍然是一个大问题。 I tried to copy those with my .exe
file but it didn't work.我试图用我的
.exe
文件复制那些文件,但没有用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.