Estoy usando el paquete pkg de nodo para empaquetar mi aplicación de nodo y crear un ejecutable nativo. Pero por alguna razón, cuando uso el paquete serialport npm en mi aplicación, se compila, pero cuando intento ejecutarlo arroja este error (sin importar la plataforma para la que construya):
$ ./app pkg/prelude/bootstrap.js:1876 throw error; ^ Error: No native build was found for platform=linux arch=x64 runtime=node abi=83 uv=1 libc=glibc node=14.19.2 loaded from: /snapshot/pkg/node_modules/@serialport/bindings-cpp at Function.path (/snapshot/pkg/node_modules/node-gyp-build/index.js:60:9) at load (/snapshot/pkg/node_modules/node-gyp-build/index.js:22:30) at Object.<anonymous> (/snapshot/pkg/node_modules/@serialport/bindings-cpp/dist/load-bindings.js:10:46) at Module._compile (pkg/prelude/bootstrap.js:1930:22) at Object.Module._extensions..js (internal/modules/cjs/loader.js:1114:10) at Module.load (internal/modules/cjs/loader.js:950:32) at Function.Module._load (internal/modules/cjs/loader.js:790:12) at Module.require (internal/modules/cjs/loader.js:974:19) at Module.require (pkg/prelude/bootstrap.js:1855:31) at require (internal/modules/cjs/helpers.js:101:18)Aquí está mi paquete.json
{ "name": "pkg", "version": "1.0.0", "dependencies": { "serialport": "^10.4.0" } }Y aquí está mi app.js
const { SerialPort } = require('serialport') const port = new SerialPort({ path: '/dev/ttyUSB0', baudRate: 19200, }) console.log('Serial port opened successfully!')Y así es como construyo:
$ pkg app.js --target=node14-linux-x64 > pkg@5.7.0