Cannot pack nodegui application
I've followed the 'Getting started' section on the NodeGUI website. I can run the program with commands through npm run run, but cannot package it with npx nodegui-packer --pack ./dist. It comes up with this error:
cleaning build directory at C:\Users\Dan\Documents\BabsLauncher\deploy\win32\build creating build directory at C:\Users\Dan\Documents\BabsLauncher\deploy\win32\build copying qode copying dist running windeployqt stderr: Please specify the binary or folder. stderr:
stdout: Usage: > C:\Users\Dan\Documents\BabsLauncher\node_modules@nodegui\nodegui\miniqt\6.4.1\msvc2019_64\bin\windeployqt.exe [options] > [files] Qt Deploy Tool 6.4.1
The simplest way to use windeployqt is to add the bin directory of your Qt installation (e.g. <QT_DIR\bin>) to the PATH variable and then run: windeployqt
If your application uses Qt Quick, run: windeployqt --qmldir
Options: -?, -h, --help Displays help on commandline options. --help-all Displays help including Qt specific options. -v, --version Displays version information. --dir
Use directory instead of binary directory. --qmake Use specified qmake instead of qmake from PATH. Deprecated, use qtpaths instead. --qtpaths Use specified qtpaths.exe instead of qtpaths.exe from PATH. --libdir Copy libraries to path. --plugindir Copy plugins to path. --debug Assume debug binaries. --release Assume release binaries. --pdb Deploy .pdb files (MSVC). --force Force updating files. --dry-run Simulation mode. Behave normally, but do not copy/update any files. --no-patchqt Do not patch the Qt6Core library. --ignore-library-errors Ignore errors when libraries cannot be found. --no-plugins Skip plugin deployment. --no-libraries Skip library deployment. --qmldir Scan for QML-imports starting from directory. --qmlimport Add the given path to the QML module search locations. --no-quick-import Skip deployment of Qt Quick imports. --translations A comma-separated list of languages to deploy (de,fi). --no-translations Skip deployment of translations. --no-system-d3d-compiler Skip deployment of the system D3D compiler. --compiler-runtime Deploy compiler runtime (Desktop only). --no-virtualkeyboard Disable deployment of the Virtual Keyboard. --no-compiler-runtime Do not deploy compiler runtime (Desktop only). --json Print to stdout in JSON format. --no-opengl-sw Do not deploy the software rasterizer library. --list Qt libraries can be added by passing their name (-xml) or removed by passing the name prepended by --no- (--no-xml). Available libraries: bluetooth concurrent core declarative designer designercomponents gamepad gui qthelp multimedia multimediawidgets multimediaquick network nfc opengl openglwidgets positioning printsupport qml qmltooling quick quickparticles quickwidgets script scripttools sensors serialport sql svg svgwidgets test websockets widgets winextras xml webenginecore webengine webenginewidgets 3dcore 3drenderer 3dquick 3dquickrenderer 3dinput 3danimation 3dextras geoservices webchannel texttospeech serialbus webview shadertools uitools core5compat
Arguments: [files] Binaries or directory containing the binary.
node:internal/process/promises:289 triggerUncaughtException(err, true /* fromPromise */); ^
[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "child process exited with code 1".] { code: 'ERR_UNHANDLED_REJECTION' }
Node.js v20.12.2
This is my first time using NodeGUI and I cannot find this error online anywhere.
Started using nodegui this week, got the same error. Still stuck
Same here.
node:internal/process/promises:389
new UnhandledPromiseRejection(reason);
^
UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "child process exited with code 1".
at throwUnhandledRejectionsMode (node:internal/process/promises:389:7)
at processPromiseRejections (node:internal/process/promises:470:17)
at process.processTicksAndRejections (node:internal/process/task_queues:96:32) {
code: 'ERR_UNHANDLED_REJECTION'
}
Node.js v22.3.0
Same here. The command it's trying to run is
C:\foo\node_modules\@nodegui\nodegui\miniqt\6.6.0\msvc2019_64\bin\windeployqt.exe --verbose=2 --release --no-translations --compiler-runtime --dir=C:\foo\deploy\win32\build\bar
with output
Running: qtpaths -query
Trying to read translation catalogs from "C:/foo/node_modules/@nodegui/nodegui/miniqt/6.6.0/msvc2019_64/translations/catalogs.json".
Warning: Translations will not be available due to the following error.
Cannot open C:/foo/node_modules/@nodegui/nodegui/miniqt/6.6.0/msvc2019_64/translations/catalogs.json
Found module "Qt6Concurrent".
Found module "Qt6Core".
Found module "Qt6DBus".
Found module "Qt6Designer".
plugin types: QList("designer")
Found module "Qt6DesignerComponents".
Found module "Qt6DeviceDiscoverySupport".
Found module "Qt6EntryPoint".
Found module "Qt6ExampleIcons".
Found module "Qt6FbSupport".
Found module "Qt6Freetype".
Found module "Qt6Gui".
plugin types: QList("accessiblebridge", "platforms", "platforms/darwin", "xcbglintegrations", "platformthemes", "platforminputcontexts", "generic", "iconengines", "imageformats", "egldeviceintegrations")
Found module "Qt6Harfbuzz".
Found module "Qt6Help".
Found module "Qt6Jpeg".
Found module "Qt6Linguist".
Found module "Qt6Network".
plugin types: QList("networkaccess", "networkinformation", "tls")
Found module "Qt6OpenGL".
Found module "Qt6OpenGLWidgets".
Found module "Qt6Png".
Found module "Qt6PrintSupport".
plugin types: QList("printsupport")
Found module "Qt6QDocCatchConversionsPrivate".
Found module "Qt6QDocCatchGeneratorsPrivate".
Found module "Qt6QDocCatch".
Found module "Qt6Sql".
plugin types: QList("sqldrivers")
Found module "Qt6Svg".
Found module "Qt6SvgWidgets".
Found module "Qt6Test".
Found module "Qt6Tools".
Found module "Qt6UiPlugin".
Found module "Qt6UiTools".
Found module "Qt6Widgets".
plugin types: QList("styles")
Found module "Qt6Xml".
Found module "Qt6Zlib".
Please specify the binary or folder.
Usage: node_modules\@nodegui\nodegui\miniqt\6.6.0\msvc2019_64\bin\windeployqt.exe [options] [files]
Qt Deploy Tool 6.6.0
The simplest way to use windeployqt is to add the bin directory of your Qt
installation (e.g. <QT_DIR\bin>) to the PATH variable and then run:
windeployqt <path-to-app-binary>
If your application uses Qt Quick, run:
windeployqt --qmldir <path-to-app-qml-files> <path-to-app-binary>
Options:
-?, -h, --help Displays help on commandline options.
--help-all Displays help, including generic Qt
options.
-v, --version Displays version information.
--dir <directory> Use directory instead of binary
directory.
--qmake <path> Use specified qmake instead of qmake from
PATH. Deprecated, use qtpaths instead.
--qtpaths <path> Use specified qtpaths.exe instead of
qtpaths.exe from PATH.
--libdir <path> Copy libraries to path.
--plugindir <path> Copy plugins to path.
--translationdir <path> Copy translations to path.
--qml-deploy-dir <path> Copy qml files to path.
--debug Assume debug binaries.
--release Assume release binaries.
--pdb Deploy .pdb files (MSVC).
--force Force updating files.
--dry-run Simulation mode. Behave normally, but do
not copy/update any files.
--no-patchqt Do not patch the Qt6Core library.
--ignore-library-errors Ignore errors when libraries cannot be
found.
--no-plugins Skip plugin deployment.
--skip-plugin-types <plugin types> A comma-separated list of plugin types
that are not deployed
(qmltooling,generic).
--no-libraries Skip library deployment.
--qmldir <directory> Scan for QML-imports starting from
directory.
--qmlimport <directory> Add the given path to the QML module
search locations.
--no-quick-import Skip deployment of Qt Quick imports.
--translations <languages> A comma-separated list of languages to
deploy (de,fi).
--no-translations Skip deployment of translations.
--no-system-d3d-compiler Skip deployment of the system D3D
compiler.
--compiler-runtime Deploy compiler runtime (Desktop only).
--no-compiler-runtime Do not deploy compiler runtime (Desktop
only).
--json Print to stdout in JSON format.
--no-opengl-sw Do not deploy the software rasterizer
library.
--list <option> Print only the names of the files copied.
Available options:
source: absolute path of the source
files
target: absolute path of the target
files
relative: paths of the target files,
relative
to the target directory
mapping: outputs the source and the
relative
target, suitable for use within
an
Appx mapping file
--verbose <level> Verbose level (0-2).
Qt libraries can be added by passing their name (-xml) or removed by passing
the name prepended by --no- (--no-xml). Available libraries:
concurrent core dbus designer designercomponentsInternal
devicediscoverysupportInternal entrypointInternal exampleiconsInternal
fbsupportInternal freetypeInternal gui harfbuzzInternal qthelp jpegInternal
linguist network opengl openglwidgets pngInternal printsupport
qdoccatchconversionsprivate qdoccatchgeneratorsprivate qdoccatchInternal sql svg
svgwidgets test toolsInternal uiplugin uitools widgets xml zlibInternal
Arguments:
[files] Binaries or directory containing the
binary.
Same here. Any updates or alternatives?
Same here.
You can try my module: https://github.com/HerokeyVN/nodegui-packer