electronic-packager没有安装node_modules

时间:2017-06-28 16:15:28

标签: electron electron-packager

electron-packager .未在Darwin平台上安装node_modules的所有模块。

尝试启动此类打包的应用时,会发生以下错误:

Uncaught Exception:
Error: Cannot find module 'sudo-prompt'
    at Module._resolveFilename (module.js:470:15)
    at Function.Module._resolveFilename

package.jsonnode_modules都在当前文件夹中。

我已尝试完全删除node_modules并使用npm install -production刷新它们,但它无法正确打包应用程序。

  

的package.json

"main": "app.js",
  "scripts": {
    "start": "electron ."
  },
  "devDependencies": {
    "chokidar": "^1.7.0",
    "electron": "^1.6.11",
    "filesize": "^3.5.6",
    "jquery": "^3.2.1",
    "keymaster": "^1.6.2",
    "open": "0.0.5",
    "peity": "^3.2.1",
    "sudo-prompt": "^7.1.0",
    "underscore": "^1.8.3",
    "unzip-stream": "^0.1.2"
  },
  "dependencies": {
    "chart.js": "^2.6.0",
    "filesize": "^3.5.10",
    "open": "0.0.5",
    "sudo-prompt": "^7.1.0"
  }

electron-packager的打包应用只有chart.js所有其他依赖项都缺失。

.app/Contents/Resources/app $ npm ls
└─┬ chart.js@2.6.0
  ├─┬ chartjs-color@2.1.0
  │ ├─┬ chartjs-color-string@0.4.0
  │ │ └── color-name@1.1.2
  │ └── color-convert@0.5.3
  └── moment@2.18.1

1 个答案:

答案 0 :(得分:2)

以防有人遇到类似的问题:

dependencies删除重复的devDependencies模块解决了这个问题。