【问题标题】:webpack fail to build, suddently get: Critical dependency, Can't resolve, Invalid dependencies and morewebpack 构建失败,突然得到:严重依赖、无法解析、无效依赖等
【发布时间】:2022-01-23 17:32:53
【问题描述】:

我的 webpackwith electron forge 很好,我运行 yarn make 命令已经成功。我试图让 icpRender 工作(通过预加载器脚本),但“突然”webpack 确实停止工作并且我收到大量错误,我会说这些错误与我正在处理的工作完全无关。可能是什么原因?我在依赖项中看到了一些问题,但我不知道为什么。我该如何解决?我很确定手动添加依赖项不是正确的方法,我应该专注于根本问题。

由于 stackoverflow 的正文消息限制,我只能传递部分错误消息。所以完整的错误是here

错误:

Forge 内部发生未处理的错误:主进程中的编译错误:assets by status 123 MiB [cached] 87 assets runtime 模块 898 字节 5 个模块 孤立模块 3.29 KiB [孤立] 4 个模块 javascript 模块 6.21 MiB 可缓存模块 6.21 MiB 1162 模块

  • 29 个模块 json 模块 667 个 KiB 模块(按路径)./node_modules/dmg-builder/ 86.7 KiB 8 个模块 模块(按路径) ./node_modules/@babel/ 32.8 KiB 5 个模块模块(按路径) ./node_modules/core-js-compat/*.json 334 KiB 4 个模块模块由 路径 ./node_modules/ajv/lib/ 3.12 KiB 2 个模块模块(按路径) ./node_modules/node-releases/data/ 20.1 KiB ./node_modules/node-releases/data/processed/envs.json 18.6 KiB [内置] [代码生成] ./node_modules/node-releases/data/release-schedule/release-schedule.json 1.54 KiB [内置] [代码生成] + 9 个模块

[...]

15 个警告包含未显示的详细信息。利用 'stats.errorDetails: true' 分别。 '--stats-error-details' 来显示它。

./node_modules/app-builder-lib/out/ProtonFramework.js 72:8-63 中的错误 未找到模块:错误:无法解析 '@babel/plugin-proposal-function-bind' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 74:8-69 中的错误 未找到模块:错误:无法解析 '@babel/plugin-proposal-export-default-from' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 77:9-68 中的错误 未找到模块:错误:无法解析 '@babel/plugin-proposal-pipeline-operator' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 79:8-64 中的错误 未找到模块:错误:无法解析 '@babel/plugin-proposal-do-expressions' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 82:8-63 中的错误 未找到模块:错误:无法解析 '@babel/plugin-proposal-function-sent' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 85:8-67 中的错误 未找到模块:错误:无法解析 '@babel/plugin-proposal-throw-expressions' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 88:8-59 中的错误 未找到模块:错误:无法解析 '@babel/plugin-syntax-import-meta' 在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/dmg-builder/out/dmgLicense.js 9:22-44 模块中的错误 未找到:错误:无法解析“dmg-license” 'C:\Users\jack\Desktop\merge\Newton\node_modules\dmg-builder\out' @ ./node_modules/dmg-builder/out/dmg.js 13:21-44 @ ./node_modules/dmg-builder/out/dmgUtil.js 7:12-28 @ ./node_modules/app-builder-lib/out/macPackager.js 63:42-64 @ ./node_modules/app-builder-lib/out/packager.js 377:72-96 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/read-config-file/out/main.js 25:17-38 模块中的错误 未找到:错误:无法解析“toml” 'C:\Users\jack\Desktop\merge\Newton\node_modules\read-config-file\out' @ ./node_modules/app-builder-lib/out/util/config.js 9:27-54 @ ./node_modules/app-builder-lib/out/packager.js 21:17-41 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

9 个错误具有未显示的详细信息。利用 'stats.errorDetails: true' 分别。 '--stats-error-details' 来显示它。

webpack 5.67.0 在 83110 毫秒内编译有 9 个错误和 15 个警告 错误:主进程编译错误:assets by status 123 MiB [缓存] 87 个资产运行时模块 898 字节 5 个孤立模块 模块 3.29 KiB [孤儿] 4 个模块 javascript 模块 6.21 MiB
可缓存模块 6.21 MiB 1162 个模块 + 29 个模块 json 模块 667 KiB 模块,路径 ./node_modules/dmg-builder/ 86.7 KiB 8 modules 路径的模块 ./node_modules/@babel/ 32.8 KiB 5 个模块
模块路径 ./node_modules/core-js-compat/*.json 334 KiB 4 个模块 模块路径 ./node_modules/ajv/lib/ 3.12 KiB 2 个模块模块 通过路径 ./node_modules/node-releases/data/ 20.1 KiB ./node_modules/node-releases/data/processed/envs.json 18.6 KiB [内置] [代码生成] ./node_modules/node-releases/data/release-schedule/release-schedule.json 1.54 KiB [内置] [代码生成] + 9 个模块

./node_modules/@babel/core/lib/config/files/import.js 中的警告 9:9-25 关键依赖:依赖的请求是 表达 @ ./node_modules/@babel/core/lib/config/files/module-types.js 48:12-39 @ ./node_modules/@babel/core/lib/config/files/configuration.js 69:19-44@./node_modules/@babel/core/lib/config/files/index.js 64:21-47@./node_modules/@babel/core/lib/index.js 189:13-38@ ./node_modules/app-builder-lib/out/ProtonFramework.js 32:20-42 @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-bin/index.js 中的警告无效 此模块的插件或加载程序已报告依赖项。 所有报告的依赖项都必须是绝对路径。无效的 依赖项可能会导致观察和缓存中断。尽最大努力 我们尝试将所有无效值转换为绝对路径并转换 glob 进入上下文依赖关系,但这是不推荐的行为。 加载器:将绝对路径传递给 this.addDependency(现有文件), this.addMissingDependency (不是现有文件),和 this.addContextDependency(目录)。插件:传递绝对路径 到 fileDependencies(现有文件),missingDependencies(不是 现有文件)和 contextDependencies(目录)。球体:他们 不支持。将目录的绝对路径作为上下文传递 依赖关系。已报告以下无效值:* "C:/Users/jack/Desktop/merge/Newton/node_modules/app-builder-bin/linux/arm/app-builder"

  • “C:/Users/jack/Desktop/merge/Newton/node_modules/app-builder-bin/linux/arm64/app-builder”
  • “C:/Users/jack/Desktop/merge/Newton/node_modules/app-builder-bin/linux/ia32/app-builder”
  • 等等 ...@ ./node_modules/builder-util/out/util.js 5:26-52 @ ./node_modules/electron-builder/out/index.js 4:21-44 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/ProtonFramework.js 中的警告 38:24-45 未找到模块:错误:无法解析“babel-core” 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/util/pathManager.js 中的警告 插件或加载器报告了无效的依赖关系 模块。所有报告的依赖项都必须是绝对路径。无效的 依赖项可能会导致观察和缓存中断。尽最大努力 我们尝试将所有无效值转换为绝对路径并转换 glob 进入上下文依赖关系,但这是不推荐的行为。 加载器:将绝对路径传递给 this.addDependency(现有文件), this.addMissingDependency (不是现有文件),和 this.addContextDependency(目录)。插件:传递绝对路径 到 fileDependencies(现有文件),missingDependencies(不是 现有文件)和 contextDependencies(目录)。球体:他们 不支持。将目录的绝对路径作为上下文传递 依赖关系。已报告以下无效值:* "C:/Users/jack/Desktop/merge/Newton/node_modules/app-builder-lib/templates/appx/appxmanifest.xml"

  • “C:/Users/jack/Desktop/merge/Newton/node_modules/app-builder-lib/templates/appx/priconfig.xml”
  • “C:/Users/jack/Desktop/merge/Newton/node_modules/app-builder-lib/templates/entitlements.mac.plist”
  • 等等 ...@ ./node_modules/app-builder-lib/out/ProtonFramework.js 9:22-51 @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/app-builder-lib/out/winPackager.js 146:39-91 中的警告 未找到模块:错误:无法解析 '电子生成器-松鼠窗口'在 'C:\Users\jack\Desktop\merge\Newton\node_modules\app-builder-lib\out' @ ./node_modules/app-builder-lib/out/packager.js 381:72-96 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/browserslist/node.js 中的警告 171:42-49 严重 依赖关系:require函数的使用方式是依赖关系 无法静态提取@./node_modules/browserslist/index.js 8:10-27@ ./node_modules/@babel/helper-compilation-targets/lib/index.js 45:20-43 @ ./node_modules/@babel/preset-env/lib/index.js 38:32-76 @ ./node_modules/app-builder-lib/out/ProtonFramework.js 69:29-65 @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/browserslist/node.js 中的警告 192:40-47 严重 依赖关系:require函数的使用方式是依赖关系 无法静态提取@./node_modules/browserslist/index.js 8:10-27@ ./node_modules/@babel/helper-compilation-targets/lib/index.js 45:20-43 @ ./node_modules/@babel/preset-env/lib/index.js 38:32-76 @ ./node_modules/app-builder-lib/out/ProtonFramework.js 69:29-65 @ ./node_modules/app-builder-lib/out/packager.js 19:26-54 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47

./node_modules/dmg-builder/out/dmgUtil.js 中的警告无效 此模块的插件或加载程序已报告依赖项。 所有报告的依赖项都必须是绝对路径。无效的 依赖项可能会导致观察和缓存中断。尽最大努力 我们尝试将所有无效值转换为绝对路径并转换 glob 进入上下文依赖关系,但这是不推荐的行为。 加载器:将绝对路径传递给 this.addDependency(现有文件), this.addMissingDependency (不是现有文件),和 this.addContextDependency(目录)。插件:传递绝对路径 到 fileDependencies(现有文件),missingDependencies(不是 现有文件)和 contextDependencies(目录)。球体:他们 不支持。将目录的绝对路径作为上下文传递 依赖关系。已报告以下无效值:* "C:/Users/jack/Desktop/merge/Newton/node_modules/dmg-builder/templates/background.tiff"

  • “C:/Users/jack/Desktop/merge/Newton/node_modules/dmg-builder/vendor/biplist/init.py”
  • “C:/Users/jack/Desktop/merge/Newton/node_modules/dmg-builder/vendor/dmgbuild/badge.py”
  • 等等 ... @ ./node_modules/app-builder-lib/out/macPackager.js 63:42-64 @ ./node_modules/app-builder-lib/out/packager.js 377:72-96 @ ./node_modules/app-builder-lib/out/index.js 7:19-40 10:17-38 @ ./node_modules/electron-builder/out/index.js 11:24-50 19:24-50 @ ./public/electron.js 4:20-47 15 个警告具有未显示的详细信息。利用 'stats.errorDetails: true' 分别。 '--stats-error-details' 来显示它。 [...]

package.json

{
  "name": "ed",
  "version": "0.1.0",
  "description": "ed",
  "author": {
    "name": "jack",
    "email": "foo@baa.com"
  },
  "private": true,
  "main": ".webpack/main",
  "homepage": "./",
  "license": "MIT",
  "config": {
    "forge": {
      "packagerConfig": {},
      "makers": [
        {
          "name": "@electron-forge/maker-squirrel",
          "config": {
            "name": "ed"
          }
        },
        {
          "name": "@electron-forge/maker-zip",
          "platforms": [
            "darwin"
          ]
        },
        {
          "name": "@electron-forge/maker-deb",
          "config": {}
        },
        {
          "name": "@electron-forge/maker-rpm",
          "config": {}
        }
      ],
      "plugins": [
        [
          "@electron-forge/plugin-webpack",
          {
            "mainConfig": "./webpack.main.config.js",
            "renderer": {
              "nodeIntegration": true,
              "config": "./webpack.renderer.config.js",
              "entryPoints": [
                {
                  "html": "./public/index.html",
                  "js": "./src/index.js",
                  "name": "main_window",
                  "preload": {
                    "js": "./src/preload.js"
                  }
                }
              ]
            }
          }
        ]
      ]
    }
  },
  "dependencies": {
    "electron-squirrel-startup": "^1.0.0",
    "@testing-library/jest-dom": "^5.11.4",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "babel-loader": "^8.1.0",
    "clean-web-ui-property-grid": "^1.1.1",
    "common-js": "^0.3.8",
    "commonjs": "^0.0.1",
    "cross-env": "^7.0.3",
    "css-loader": "^6.5.1",
    "history": "^5.0.1",
    "i": "^0.3.7",
    "npm": "^7.24.1",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-draggable": "^4.4.4",
    "react-helmet-async": "^1.1.2",
    "react-router-dom": "^5.3.0",
    "react-scripts": "4.0.3",
    "react-tabs": "^3.2.2",
    "react-tinder-card": "^1.4.5",
    "web-vitals": "^1.0.1"
  },
  "scripts": {
    "start": "set PORT=3004 && react-scripts start",
    "make": "electron-forge make",
    "build": "react-scripts build",
    "dist": "yarn run build && electron-builder build",
    "test": "react-scripts test",
    "eject": "react-scripts eject",
    "dev": "concurrently -k \"cross-env BROWSER=none npm start\" \"npm:electron\"",
    "electron": "wait-on tcp:3004 && electron ."
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  },
  "devDependencies": {
    "@electron-forge/cli": "^6.0.0-beta.63",
    "@electron-forge/maker-deb": "^6.0.0-beta.63",
    "@electron-forge/maker-rpm": "^6.0.0-beta.63",
    "@electron-forge/maker-squirrel": "^6.0.0-beta.63",
    "@electron-forge/maker-zip": "^6.0.0-beta.63",
    "@electron-forge/plugin-webpack": "6.0.0-beta.63",
    "@vercel/webpack-asset-relocator-loader": "1.7.0",
    "concurrently": "^7.0.0",
    "electron": "^16.0.6",
    "electron-builder": "^22.14.5",
    "electron-is-dev": "^2.0.0",
    "electron-packager": "^15.4.0",
    "wait-on": "^6.0.0"
  }
}

【问题讨论】:

    标签: webpack electron windows-10 electron-forge


    【解决方案1】:

    也许你的机器上的 node.js 版本最近发生了变化?然后安装 NVM 并切换到旧版本。

    有时删除 node_modules 并重新执行 npm install 会有所帮助。

    【讨论】:

    • 我都试过了,降级和更新节点版本到最低,我得到了同样的错误。我试过删除 mode_modules 文件夹,重新安装包,但没有运气
    猜你喜欢
    • 2015-11-22
    • 1970-01-01
    • 2017-05-06
    • 2014-10-04
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多