AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |
Back to Blog
Man installpkg11/3/2023 If necessary, you can replace this signature with your own Otherwise, the executable will be killedīy kernel and the end-user has no way to permit it to run at all. Utility of macOS (or ldid utility on Linux). The final executable has to be signed (ad-hoc signature is sufficient) with codesign Be careful about the mandatory code signing requirement. or, disable bytecode generation with -no-bytecode -public-packages "*" -public.Windows: possible to build 圆4 on arm64 with 圆4 emulation but not opposite.macOS: possible to build 圆4 on arm64 with Rosetta 2 but not opposite.Note that by default pkg has to run the executable of the If you want to generate executable for different architectures, Linux,macos,win for current Node.js version and arch. There is also an alias host, that means that all 3 elementsĪre taken from current platform/Node.js. System-wide Node.js installation (its version and arch). The omitted elements will be taken from current platform or You may omit any element (and specify just node14 for example). (element) is unsupported, but you may try to compile yourself. platform alpine, linux, linuxstatic, win, macos, (freebsd).nodeRange (node8), node10, node12, node14, node16 or latest.A canonical target consists of 3 elements, separated byĭashes, for example node12-macos-圆4 or node14-linux-arm64: You can specify a comma-separated list of targets via -targets Pkg can generate executables for several target machines at a The specified package.json and use it as entry file. Packaged app will work the same way as node /path/app.js The entrypoint of your project is a mandatory CLI argument. – Makes executable for particular target machine $ pkg -t node14-win-arm64 index.js – Makes executables for target machines of your choice $ pkg -t node12-linux,node14-linux,node14-win index.js – Bakes '-expose-gc' and '-max-heap-size=34' into executable $ pkg -options "expose-gc,max-heap-size=34" index.js – Consider packageA and packageB to be public $ pkg -public-packages "packageA,packageB" index.js – Consider all packages to be public $ pkg -public-packages "*" index.js – Bakes '-expose-gc' into executable $ pkg -options expose-gc index.js – reduce size of the data packed inside the executable with GZip $ pkg -compress GZip index.js Use -no-dict * to disable all dictionaries -C, -compress compression algorithm = Brotli or GZip Examples: – Makes executables for Linux, macOS and Windows $ pkg index.js – Takes package.json from cwd and follows 'bin' entry $ pkg. Pkg Options: -h, -help output usage information -v, -version output pkg version -t, -targets comma-separated list of targets (see examples) -c, -config package.json or any json file with top-level config -options bake v8 options into executable to run with them on -o, -output output file name or template for several files -out-path path to save output one or more executables -d, -debug show more information during packaging process -b, -build don't download prebuilt base binaries, build them -public speed up and disclose the sources of top-level project -public-packages force specified packages to be considered public -no-bytecode skip bytecode generation and include source files as plain js -no-native-build skip native addons build -no-dict comma-separated list of packages names to ignore dictionaries. Test your app against new Node.js version without installing it.Put your assets inside the executable to make it even more portable.No need to download hundreds of files via npm install to deploy.No need to install Node.js and npm to run the packaged application.Make some kind of self-extracting archive or installer.
0 Comments
Read More
Leave a Reply. |