Using electron-packager to build Quasar project - App doesn't start



  • I am trying to run the builder as referenced on the Quasar website:

    quasar build -m electron
    

    But when I run it then run my .app file (I’m on a Mac) electron just bounces for a little then terminates. I don’t get an error message.

    Where can I find the log that will tell me what’s going on?

    I’ve been Googling and have tried various things but nothing has worked so far. This is my quasar.conf.js file if that helps. I don’t know what to put under the packager {} area, there are not good instructions on the electron-packager documentation page.

    Thanks!

    /*
     * This file runs in a Node context (it's NOT transpiled by Babel), so use only
     * the ES6 features that are supported by your Node version. https://node.green/
     */
    
    // Configuration for your app
    // https://quasar.dev/quasar-cli/quasar-conf-js
    
    module.exports = function (/* ctx */) {
      return {
        // https://quasar.dev/quasar-cli/supporting-ts
        supportTS: false,
    
        // https://quasar.dev/quasar-cli/prefetch-feature
        // preFetch: true,
    
        // app boot file (/src/boot)
        // --> boot files are part of "main.js"
        // https://quasar.dev/quasar-cli/boot-files
        boot: [
          
        ],
    
        // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-css
        css: [
          'app.sass'
        ],
    
        // https://github.com/quasarframework/quasar/tree/dev/extras
        extras: [
          // 'ionicons-v4',
          // 'mdi-v5',
          // 'fontawesome-v5',
          // 'eva-icons',
          // 'themify',
           'line-awesome',
          // 'roboto-font-latin-ext', // this or either 'roboto-font', NEVER both!
    
          'roboto-font', // optional, you are not bound to it
          'material-icons', // optional, you are not bound to it
        ],
    
        // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-build
        build: {
          vueRouterMode: 'hash', // available values: 'hash', 'history'
    
          // transpile: false,
    
          // Add dependencies for transpiling with Babel (Array of string/regex)
          // (from node_modules, which are by default not transpiled).
          // Applies only if "transpile" is set to true.
          // transpileDependencies: [],
    
          // rtl: false, // https://quasar.dev/options/rtl-support
          // preloadChunks: true,
          // showProgress: false,
          // gzip: true,
          // analyze: true,
    
          // Options below are automatically set depending on the env, set them if you want to override
          // extractCSS: false,
    
          // https://quasar.dev/quasar-cli/handling-webpack
          extendWebpack (cfg) {
          },
        },
    
        // Full list of options: https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-devServer
        devServer: {
          https: false,
          port: 8080,
          open: true // opens browser window automatically
        },
    
        // https://quasar.dev/quasar-cli/quasar-conf-js#Property%3A-framework
        framework: {
          iconSet: 'material-icons', // Quasar icon set
          cssAddon: true, // this allows additioonal formatting such as center
          lang: 'en-us', // Quasar language pack
          config: {
            notify: { /* look at QUASARCONFOPTIONS from the API card (bottom of page) */ }
          },
    
          // Possible values for "importStrategy":
          // * 'auto' - (DEFAULT) Auto-import needed Quasar components & directives
          // * 'all'  - Manually specify what to import
          importStrategy: 'auto',
    
          // For special cases outside of where "auto" importStrategy can have an impact
          // (like functional components as one of the examples),
          // you can manually specify Quasar components/directives to be available everywhere:
          //
          // components: [],
          // directives: [],
    
          // Quasar plugins
          plugins: [
            'Notify'
          ]
        },
    
        // animations: 'all', // --- includes all animations
        // https://quasar.dev/options/animations
        animations: [],
    
        // https://quasar.dev/quasar-cli/developing-ssr/configuring-ssr
        ssr: {
          pwa: false
        },
    
        // https://quasar.dev/quasar-cli/developing-pwa/configuring-pwa
        pwa: {
          workboxPluginMode: 'GenerateSW', // 'GenerateSW' or 'InjectManifest'
          workboxOptions: {}, // only for GenerateSW
          manifest: {
            name: `Paw Tap Secretarial Software`,
            short_name: `Paw Tap`,
            description: `Paw Tap Quasar`,
            display: 'standalone',
            orientation: 'portrait',
            background_color: '#ffffff',
            theme_color: '#027be3',
            icons: [
              {
                src: 'icons/icon-128x128.png',
                sizes: '128x128',
                type: 'image/png'
              },
              {
                src: 'icons/icon-192x192.png',
                sizes: '192x192',
                type: 'image/png'
              },
              {
                src: 'icons/icon-256x256.png',
                sizes: '256x256',
                type: 'image/png'
              },
              {
                src: 'icons/icon-384x384.png',
                sizes: '384x384',
                type: 'image/png'
              },
              {
                src: 'icons/icon-512x512.png',
                sizes: '512x512',
                type: 'image/png'
              }
            ]
          }
        },
    
        // Full list of options: https://quasar.dev/quasar-cli/developing-cordova-apps/configuring-cordova
        cordova: {
          // noIosLegacyBuildFlag: true, // uncomment only if you know what you are doing
        },
    
        // Full list of options: https://quasar.dev/quasar-cli/developing-capacitor-apps/configuring-capacitor
        capacitor: {
          hideSplashscreen: true
        },
    
        // Full list of options: https://quasar.dev/quasar-cli/developing-electron-apps/configuring-electron
        electron: {
          bundler: 'packager', // 'packager' or 'builder'
    
          packager: {
            // https://github.com/electron-userland/electron-packager/blob/master/docs/api.md#options
    
            //OS X / Mac App Store
            // appBundleId: '',
            // appCategoryType: '',
            // osxSign: '',
            // protocol: 'myapp://path',
    
            // Windows only
            // win32metadata: { ... }
          },
    
          builder: {
            // https://www.electron.build/configuration/configuration
    
            appId: 'PawTap'
          },
    
          // More info: https://quasar.dev/quasar-cli/developing-electron-apps/node-integration
          nodeIntegration: true,
    
          extendWebpack (/* cfg */) {
            // do something with Electron main process Webpack cfg
            // chainWebpack also available besides this extendWebpack
          }
        }
      }
    }
    
    


  • Have you tried running it from the console to see error messages there?



  • @mYnDstrEAm When I ran the .app file this morning I did get an error screen on the Mac. That my app quit unexpectedly. I’m including the super huge error report, I don’t even know what I should be looking for.

    When I run the app using quasar dev -m electron it runs just fine.

    Process:               Paw Tap [80537]
    Path:                  /Users/USER/*/Paw Tap.app/Contents/MacOS/Paw Tap
    Identifier:            com.electron.paw-tap
    Version:               0.0.1 (0.0.1)
    Code Type:             X86-64 (Native)
    Parent Process:        ??? [1]
    Responsible:           Paw Tap [80537]
    User ID:               501
    
    Date/Time:             2021-01-12 10:07:27.034 -0700
    OS Version:            macOS 11.1 (20C69)
    Report Version:        12
    Anonymous UUID:        1ED30C54-E28B-2118-F97A-49CF41E219CE
    
    Sleep/Wake UUID:       F1D95E9B-5BF9-4BC1-9BE9-5244FAF737BD
    
    Time Awake Since Boot: 320000 seconds
    Time Since Wake:       6600 seconds
    
    System Integrity Protection: enabled
    
    Crashed Thread:        10  Chrome_IOThread
    
    Exception Type:        EXC_BREAKPOINT (SIGTRAP)
    Exception Codes:       0x0000000000000002, 0x0000000000000000
    Exception Note:        EXC_CORPSE_NOTIFY
    
    Termination Signal:    Trace/BPT trap: 5
    Termination Reason:    Namespace SIGNAL, Code 0x5
    Terminating Process:   exc handler [80537]
    
    (cut out a bunch)
    
    
    External Modification Summary:
      Calls made by other processes targeting this process:
        task_for_pid: 0
        thread_create: 0
        thread_set_state: 0
      Calls made by this process:
        task_for_pid: 0
        thread_create: 0
        thread_set_state: 0
      Calls made by all processes on this machine:
        task_for_pid: 307955
        thread_create: 0
        thread_set_state: 0
    
    VM Region Summary:
    ReadOnly portion of Libraries: Total=968.6M resident=0K(0%) swapped_out_or_unallocated=968.6M(100%)
    Writable regions: Total=682.1M written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=682.1M(100%)
     
                                    VIRTUAL   REGION 
    REGION TYPE                        SIZE    COUNT (non-coalesced) 
    ===========                     =======  ======= 
    Activity Tracing                   256K        1 
    Kernel Alloc Once                    8K        1 
    MALLOC                           166.6M       26 
    MALLOC guard page                   16K        3 
    MALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)
    Memory Tag 255                     4.0G       32 
    STACK GUARD                       56.1M       22 
    Stack                            122.7M       22 
    VM_ALLOCATE                       1056K       16 
    __CTF                               759        1 
    __DATA                            30.4M      474 
    __DATA_CONST                      24.8M      293 
    __DATA_DIRTY                      1694K      204 
    __FONT_DATA                          4K        1 
    __LINKEDIT                       491.4M        9 
    __OBJC_RO                         60.5M        1 
    __OBJC_RW                         2452K        2 
    __TEXT                           477.2M      471 
    __UNICODE                          588K        1 
    mapped file                      717.9M       17 
    shared memory                       40K        4 
    ===========                     =======  ======= 
    TOTAL                              6.5G     1602 
    TOTAL, minus reserved VM space     6.1G     1602 
    
    Model: MacBookPro14,1, BootROM 429.60.3.0.0, 2 processors, Dual-Core Intel Core i7, 2.5 GHz, 16 GB, SMC 2.43f10
    Graphics: kHW_IntelIrisGraphics640Item, Intel Iris Plus Graphics 640, spdisplays_builtin
    Memory Module: BANK 0/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x80CE, 0x4B3445424533303445422D45474347202020
    Memory Module: BANK 1/DIMM0, 8 GB, LPDDR3, 2133 MHz, 0x80CE, 0x4B3445424533303445422D45474347202020
    AirPort: spairport_wireless_card_type_airport_extreme (0x14E4, 0x170), Broadcom BCM43xx 1.0 (7.77.111.1 AirPortDriverBrcmNIC-1675.1)
    Bluetooth: Version 8.0.2f9, 3 services, 27 devices, 1 incoming serial ports
    Network Service: Wi-Fi, AirPort, en0
    USB Device: USB 3.0 Bus
    Thunderbolt Bus: MacBook Pro, Apple Inc., 41.4
    
    
    
    
    .....


  • @cynderkromi try the build command with the --debug flag, see if you can get a meaningful error logs.



  • Will try that thanks.

    This is my package.json file if it helps

    {
      "name": "paw-tap",
      "version": "0.0.1",
      "description": "Paw Tap Secretarial Software",
      "productName": "Paw Tap",
      "author": "Cynthia Heyman",
      "private": true,
      "scripts": {
        "test": "echo \"No test specified\" && exit 0",
        "start": "electron-forge start",
        "package": "electron-forge package",
        "make": "electron-forge make"
      },
      "files": [
        "*.js",
        "build",
        "node_modules"
      ],
      "dependencies": {
        "@quasar/cli": "^1.1.3",
        "@quasar/extras": "^1.0.0",
        "core-js": "^3.6.5",
        "dexie": "^3.1.0-alpha.6",
        "dexie-export-import": "^1.0.0",
        "electron-compile": "^6.4.4",
        "electron-squirrel-startup": "^1.0.0",
        "line-awesome": "^1.3.0",
        "localbase": "^0.7.4",
        "quasar": "^1.0.0",
        "electron-prebuilt-compile": "8.2.0"
      },
      "devDependencies": {
        "@quasar/app": "^2.0.0",
        "babel-plugin-transform-async-to-generator": "^6.24.1",
        "babel-preset-env": "^1.7.0",
        "babel-preset-react": "^6.24.1",
        "devtron": "^1.4.0",
        "electron": "^11.1.1",
        "electron-debug": "^3.2.0",
        "electron-devtools-installer": "^3.1.1",
        "electron-forge": "^5.2.4",
        "electron-prebuilt-compile": "8.2.0"
      },
      "browserslist": [
        "last 10 Chrome versions",
        "last 10 Firefox versions",
        "last 4 Edge versions",
        "last 7 Safari versions",
        "last 8 Android versions",
        "last 8 ChromeAndroid versions",
        "last 8 FirefoxAndroid versions",
        "last 10 iOS versions",
        "last 5 Opera versions"
      ],
      "engines": {
        "node": ">= 10.18.1",
        "npm": ">= 6.13.4",
        "yarn": ">= 1.21.1"
      },
      "main": "",
      "config": {
        "forge": {
          "make_targets": {
            "win32": [
              "squirrel"
            ],
            "darwin": [
              "zip"
            ],
            "linux": [
              "deb",
              "rpm"
            ]
          },
          "electronPackagerConfig": {
            "packageManager": "npm"
          },
          "electronWinstallerConfig": {
            "name": "paw_tap"
          },
          "electronInstallerDebian": {},
          "electronInstallerRedhat": {},
          "github_repository": {
            "owner": "",
            "name": ""
          },
          "windowsStoreConfig": {
            "packageName": "",
            "name": "Paw Tap"
          }
        }
      }
    }
    
    


  • Apparently, the problem was with my package.json file. I changed it to this and now the .app file is running. I do wish there was more detailed information on how and why and what to put in the package.json file, if anyone has a good detailed tutorial please let me know.

    {
      "name": "paw-tap",
      "version": "0.0.1",
      "description": "Paw Tap Secretarial Software",
      "productName": "Paw Tap",
      "author": "Cynthia Heyman",
      "private": true,
      "scripts": {
        "test": "echo \"No test specified\" && exit 0",
        "start": "electron-forge start",
        "package": "electron-forge package",
        "make": "electron-forge make"
      },
      "build": {
        "files": [
          "app/**/*",
          "node_modules/**/*",
          "package.json"
        ],
        "appId": "com.myapp.PawTap",
        "publish": {
          "provider": "github",
          "repo": "xxx",
          "owner": "xxx"
        },
        "npmRebuild": false,
        "directories": {
          "buildResources": "assets"
        },
        "mac": {
          "target": "dmg"
        },
        "win": {
          "target": "nsis"
        }
      },
      "dependencies": {
        "@quasar/cli": "^1.1.3",
        "@quasar/extras": "^1.0.0",
        "core-js": "^3.6.5",
        "dexie": "^3.1.0-alpha.6",
        "dexie-export-import": "^1.0.0",
        "electron-compile": "^6.4.4",
        "electron-squirrel-startup": "^1.0.0",
        "line-awesome": "^1.3.0",
        "localbase": "^0.7.4",
        "quasar": "^1.0.0",
        "electron-prebuilt-compile": "8.2.0"
      },
      "devDependencies": {
        "@quasar/app": "^2.0.0",
        "babel-plugin-transform-async-to-generator": "^6.24.1",
        "babel-preset-env": "^1.7.0",
        "babel-preset-react": "^6.24.1",
        "devtron": "^1.4.0",
        "electron": "^11.1.1",
        "electron-debug": "^3.2.0",
        "electron-devtools-installer": "^3.1.1",
        "electron-forge": "^5.2.4",
        "electron-packager": "^15.2.0",
        "electron-prebuilt-compile": "8.2.0"
      },
      "browserslist": [
        "last 10 Chrome versions",
        "last 10 Firefox versions",
        "last 4 Edge versions",
        "last 7 Safari versions",
        "last 8 Android versions",
        "last 8 ChromeAndroid versions",
        "last 8 FirefoxAndroid versions",
        "last 10 iOS versions",
        "last 5 Opera versions"
      ],
      "engines": {
        "node": ">= 10.18.1",
        "npm": ">= 6.13.4",
        "yarn": ">= 1.21.1"
      },
      "main": "",
      "config": {
        "forge": {
          "make_targets": {
            "win32": [
              "squirrel"
            ],
            "darwin": [
              "zip"
            ],
            "linux": [
              "deb",
              "rpm"
            ]
          },
          "electronPackagerConfig": {
            "packageManager": "npm"
          },
          "electronWinstallerConfig": {
            "name": "paw_tap"
          },
          "electronInstallerDebian": {},
          "electronInstallerRedhat": {},
          "github_repository": {
            "owner": "",
            "name": ""
          },
          "windowsStoreConfig": {
            "packageName": "",
            "name": "Paw Tap"
          }
        }
      }
    }
    
    


  • @cynderkromi i don’t think you need to tinker with electron config manually in your package.json, https://quasar.dev/quasar-cli/developing-electron-apps/configuring-electron#Introduction.


Log in to reply