Skip to content

Failed to read package.json for ...\node_modules\.pnpm\X@Y\node_modules\X: ENOENT: no such file or directory, open '...\node_modules\.pnpm\X@Y\node_modules\X\package.json' #9515

@2dragonly

Description

@2dragonly

I want to exclude node_modules being copied when building the app, since i'm using prebundle,.. how can i stop electron-builder copying the node_modules?

  • electron-builder  version=26.4.0 os=10.0.26100
  • artifacts will be published if draft release exists  reason=CI detected
  • skipped dependencies rebuild  reason=npmRebuild is set to false
  • packaging       platform=win32 arch=x64 electron=11.5.0 appOutDir=dist\electron\win-unpacked
  • downloading     url=https://github.com/electron/electron/releases/download/v11.5.0/electron-v11.5.0-win32-x64.zip size=78 MB parts=4
  • downloaded      url=https://github.com/electron/electron/releases/download/v11.5.0/electron-v11.5.0-win32-x64.zip duration=393ms
  • asar usage is disabled — this is strongly not recommended  solution=enable asar and use asarUnpack to unpack files that must be externally available
  • packageManager not detected by file, falling back to environment detection  resolvedPackageManager=pnpm detected=D:\a\electron-app\electron-app
  • detected workspace root for project using process environment  pm=pnpm config=undefined resolved=undefined projectDir=D:\a\electron-app\electron-app
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\env-paths@2.2.1\node_modules\env-paths: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\env-paths@2.2.1\node_modules\env-paths\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\isexe@3.1.1\node_modules\isexe: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\isexe@3.1.1\node_modules\isexe\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\yallist@5.0.0\node_modules\yallist: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\yallist@5.0.0\node_modules\yallist\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\picomatch@4.0.3\node_modules\picomatch: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\picomatch@4.0.3\node_modules\picomatch\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\picomatch@4.0.3\node_modules\picomatch: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\picomatch@4.0.3\node_modules\picomatch\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\minipass@3.3.6\node_modules\minipass\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\yallist@5.0.0\node_modules\yallist: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\yallist@5.0.0\node_modules\yallist\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\glob@10.5.0\node_modules\glob: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\glob@10.5.0\node_modules\glob\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\minimatch@9.0.5\node_modules\minimatch: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\minimatch@9.0.5\node_modules\minimatch\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\which@2.0.2\node_modules\which: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\which@2.0.2\node_modules\which\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\string-width@5.1.2\node_modules\string-width: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\string-width@5.1.2\node_modules\string-width\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\emoji-regex@8.0.0\node_modules\emoji-regex: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\emoji-regex@8.0.0\node_modules\emoji-regex\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-styles@6.2.3\node_modules\ansi-styles: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-styles@6.2.3\node_modules\ansi-styles\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\string-width@5.1.2\node_modules\string-width: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\string-width@5.1.2\node_modules\string-width\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\strip-ansi@7.1.2\node_modules\strip-ansi\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\wrap-ansi@7.0.0\node_modules\wrap-ansi: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\wrap-ansi@7.0.0\node_modules\wrap-ansi\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\emoji-regex@8.0.0\node_modules\emoji-regex: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\emoji-regex@8.0.0\node_modules\emoji-regex\package.json'
  • Failed to read package.json for D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex: ENOENT: no such file or directory, open 'D:\a\electron-app\electron-app\node_modules\.pnpm\ansi-regex@5.0.1\node_modules\ansi-regex\package.json'

This is my configuration, i've already ignore the node_modules and disable related configs, but i still get the above, when i building the app on windows, and sometimes on mac, i get that error..

import { build as electronBuild, log } from "electron-builder";

import pkg from "../package.json";

const author = (pkg as any).author?.name ?? (pkg as any).author;
const appId = `com.${author.replace(/\s+/g, "-")}.${pkg.name}`.toLowerCase();
const productName = pkg.name
  .split("-")
  .map((w) => w.charAt(0).toUpperCase() + w.slice(1))
  .join(" ");
const artifactName = `${pkg.name}-v${pkg.version}-\${os}-\${arch}.\${ext}`;

const IGNORED_FILES = [
  "!**/._*",
  "!.editorconfig",
  "!**/node_modules/**/*",
  "!**/{appveyor.yml,.travis.yml,circle.yml}",
  "!**/*.{iml,o,hprof,orig,pyc,pyo,rbc,swp,csproj,sln,xproj}",
  "!**/{.DS_Store,.git,.hg,.svn,CVS,RCS,SCCS,.gitignore,.gitattributes}",
  "!**/{__pycache__,thumbs.db,.flowconfig,.idea,.vs,.nyc_output}",
  "!**/{npm-debug.log,yarn.lock,pnpm-lock.yaml,.yarn-integrity,.yarn-metadata.json}",
];

const electronOutDir = ".electron";
Object.assign(process.env, {
  NODE_OPTIONS: "--max-old-space-size=4096",
  NODE_ENV: "production",
  ELECTRON_BUILDER_PARALLEL: "true",
  ELECTRON_BUILDER_7Z_FILTER: "BCJ2",
  ELECTRON_BUILDER_COMPRESSION_LEVEL: "9",
  ELECTRON_BUILDER_CACHE: "false",
  ELECTRON_BUILDER_SKIP_GYP: "true",
  CSC_IDENTITY_AUTO_DISCOVERY: "false",
  ...(process.platform === "darwin" && { SKIP_NOTARIZATION: "true" }),
  ...(process.platform === "win32" && {
    WIN_CSC_LINK: "",
    WIN_CSC_KEY_PASSWORD: "",
  }),
});
await electronBuild({
  config: {
    appId,
    productName,
    artifactName,
    copyright: `Copyright © ${new Date().getFullYear()} - ${author}`,
    buildVersion: pkg.version,
    compression: "maximum",
    asar: false,
    npmRebuild: false,
    nodeGypRebuild: false,
    electronCompile: false,
    forceCodeSigning: false,
    detectUpdateChannel: false,
    removePackageScripts: true,
    removePackageKeywords: true,
    buildDependenciesFromSource: false,
    electronLanguages: ["en-US"],
    publish: [],
    directories: { output: "dist/electron" },
    files: [`${electronOutDir}/**`, "dist/web/**", ...IGNORED_FILES],
    extraMetadata: { dependencies: {} },
    beforeBuild: async () => false,

    win: {
      target: [{ target: "nsis", arch: "x64" }],
      icon: "assets/icons/win/icon.ico",
      verifyUpdateCodeSignature: false,
      requestedExecutionLevel: "asInvoker",
    },

    mac: {
      target: [{ target: "pkg", arch: "x64" }],
      icon: "assets/icons/mac/icon.icns",
      category: "public.app-category.games",
      hardenedRuntime: true,
      gatekeeperAssess: false,
      darkModeSupport: true,
      entitlements: "scripts/mac/entitlements.mac.plist",
      entitlementsInherit: "scripts/mac/entitlements.mac.plist",
      identity: null,
      provisioningProfile: null,
      type: "distribution",
      notarize: false,
    },

    linux: {
      target: [{ target: "AppImage", arch: ["x64"] }],
      icon: "assets/icons/icon.png",
      category: "Game",
      synopsis: (pkg as any).description,
      maintainer: author,
      vendor: author,
    },

    snap: {
      allowNativeWayland: true,
      executableArgs: ["--no-process-scanning"],
    },

    nsis: {
      oneClick: false,
      perMachine: false,
      allowToChangeInstallationDirectory: true,
      installerLanguages: ["en_US"],
      unicode: true,
      guid: "85066FAB-FAE0-45FA-8DC0-08A10CE46854",
      warningsAsErrors: false,
      license: "../LICENSE",
      language: "1033",
      packElevateHelper: true,
      uninstallDisplayName: "${productName}",
    },

    pkg: {
      identity: null,
      allowAnywhere: true,
      allowCurrentUserHome: true,
      allowRootDirectory: false,
      installLocation: "/Applications",
      scripts: "scripts/mac/pkg-scripts",
      license: "../LICENSE",
      background: {
        file: "scripts/mac/pkg-background.png",
        alignment: "center",
        scaling: "proportional",
      },
    },
  },
}).catch(log.error);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions