Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot pack nodegui application #180

Open
iamdaaan opened this issue Apr 26, 2024 · 3 comments
Open

Cannot pack nodegui application #180

iamdaaan opened this issue Apr 26, 2024 · 3 comments

Comments

@iamdaaan
Copy link

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 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 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:
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.

@guimaraesr-y
Copy link

Started using nodegui this week, got the same error. Still stuck

@eduardoghi
Copy link

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

@alexc155
Copy link

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.
                                     

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants