Npm 找不到模块';xmlbuilder';尝试运行Electron项目的生产版本时

Npm 找不到模块';xmlbuilder';尝试运行Electron项目的生产版本时,npm,electron,Npm,Electron,我有一个电子程序,我正在建设生产。当我运行创建的.exe时,我得到以下错误 我使用以下命令安装了xmlbuilder npm安装-g xmlbuilder 这也是我的package.json文件 { "name": "Title Of Program Here", "version": "3.0.0", "description": " ", "main": "main.js", "scripts": { "start": "electron .",

我有一个电子程序,我正在建设生产。当我运行创建的.exe时,我得到以下错误

我使用以下命令安装了xmlbuilder

npm安装-g xmlbuilder

这也是我的package.json文件

    {
  "name": "Title Of Program Here",
  "version": "3.0.0",
  "description": " ",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\" Title \"",
    "package-linux": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds"
  },
  "author": "David Klecker",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^4.4.1",
    "ejs": "^3.1.2",
    "electron": "^8.2.0",
    "electron-alert": "^0.1.5",
    "electron-reload": "^1.5.0",
    "embed-js": "^5.0.4",
    "jquery": "^3.4.1",
    "jquery-treegrid": "^0.3.0",
    "php-server-manager": "^1.3.3",
    "popper.js": "^1.16.1",
    "python-shell": "^1.0.8",
    "uniter": "^2.14.0",
    "xml2js": "^0.4.23"
  },
  "devDependencies": {
    "ejs-lint": "^1.1.0",
    "electron-packager": "^14.2.1",
    "xmlbuilder": "^15.1.1"
  }
}
我不知道我为什么会犯这个错误。我在构建生产版本时没有看到任何错误

解决方案:

将“xmlbuilder”:“^15.1.1”行移动到“依赖项”中

以下是更新后的package.json文件

    {
  "name": "Title Of Program Here",
  "version": "3.0.0",
  "description": " ",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\" Title \"",
    "package-linux": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds"
  },
  "author": "David Klecker",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^4.4.1",
    "ejs": "^3.1.2",
    "electron": "^8.2.0",
    "electron-alert": "^0.1.5",
    "electron-reload": "^1.5.0",
    "embed-js": "^5.0.4",
    "jquery": "^3.4.1",
    "jquery-treegrid": "^0.3.0",
    "php-server-manager": "^1.3.3",
    "popper.js": "^1.16.1",
    "python-shell": "^1.0.8",
    "uniter": "^2.14.0",
    "xml2js": "^0.4.23",
    "xmlbuilder": "^15.1.1"

  },
  "devDependencies": {
    "ejs-lint": "^1.1.0",
    "electron-packager": "^14.2.1"
  }
}
这消除了错误。不确定xmlbuilder为何以这种方式安装到package.json中,但对于使用它的用户,您必须手动更新package.json文件才能正确打包。

解决方案:

将“xmlbuilder”:“^15.1.1”行移动到“依赖项”中

以下是更新后的package.json文件

    {
  "name": "Title Of Program Here",
  "version": "3.0.0",
  "description": " ",
  "main": "main.js",
  "scripts": {
    "start": "electron .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/icon.icns --prune=true --out=release-builds",
    "package-win": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\" Title \"",
    "package-linux": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/png/icon.png --prune=true --out=release-builds"
  },
  "author": "David Klecker",
  "license": "ISC",
  "dependencies": {
    "bootstrap": "^4.4.1",
    "ejs": "^3.1.2",
    "electron": "^8.2.0",
    "electron-alert": "^0.1.5",
    "electron-reload": "^1.5.0",
    "embed-js": "^5.0.4",
    "jquery": "^3.4.1",
    "jquery-treegrid": "^0.3.0",
    "php-server-manager": "^1.3.3",
    "popper.js": "^1.16.1",
    "python-shell": "^1.0.8",
    "uniter": "^2.14.0",
    "xml2js": "^0.4.23",
    "xmlbuilder": "^15.1.1"

  },
  "devDependencies": {
    "ejs-lint": "^1.1.0",
    "electron-packager": "^14.2.1"
  }
}
这消除了错误。不确定xmlbuilder为何以这种方式安装到package.json中,但对于使用它的用户,您必须手动更新package.json文件才能正确打包