How to package nodejs executable file with pkg? The following article will introduce to you how to use pkg to package the Node project into an executable file. I hope it will be helpful to you!
Using pkg, you can package your Node.js project into an executable file that can even be run on devices where Node.js is not installed. [Related tutorial recommendations: nodejs video tutorial]
Experimental environment
Operating system: windows
node version: 16.14.2
##Operation process
$ npm install -g pkg
const express = require('express'); const app = express(); app.get('/', (req, res) => { res.send('Hello World!'); }); app.listen(3000, () => { console.log('Express web app on localhost:3000'); });
$ pkg server.js
First time Error
At this time, an error will be reported$ pkg server.js > pkg@5.6.0 > Targets not specified. Assuming: node16-linux-x64, node16-macos-x64, node16-win-x64 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.14.2-linux-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.3","name":"node-v16.14.2-linux-x64"} > Building base binary from source: built-v16.14.2-linux-x64 > Error! Not able to build for 'linux' here, only for 'win'
$ pkg -t win server.js
Second error report
An error message was reported again during compilation:$ pkg -t win server.js > pkg@5.6.0 > Fetching base Node.js binaries to PKG_CACHE_PATH fetched-v16.14.2-win-x64 [ ] 0%> Not found in remote cache: {"tag":"v3.3","name":"node-v16.14.2-win-x64"} > Building base binary from source: built-v16.14.2-win-x64 > Fetching Node.js source archive from nodejs.org... > Error! AssertionError [ERR_ASSERTION]: The expression evaluated to a falsy value:
official website to download the corresponding version file. For example, mine is node-v16.14.2-win-x64
Official website address: https://github.com /vercel/pkg-fetch/releases 2. Rename the file node-v16.14.2-win-x64 downloaded in the previous step to fetched-v16.14.2-win -x64, put it in the current user's cache directory. For example, my cache directory isC:\Users\MangoDowner.pkg-cache. After splicing the fetch tag, it becomes the final directory. Refer to the information in the error report to get The tag is v3.3
{"tag":"v3.3","name":"node-v16.14.2-win-x64"}
So the final file address is C:\Users\MangoDowner .pkg-cache\v3.3\fetched-v16.14.2-win-x64
$ pkg -t win server.js > pkg@5.6.0
nodejs tutorial!
The above is the detailed content of Let's talk about how to use pkg to package Node.js projects into executable files.. For more information, please follow other related articles on the PHP Chinese website!