使用 npm 打包electron后运行时候报错

使用electron做了一个浏览器,因为要获取客户端的序列号和硬盘序列号,
引入了npm的serial-number模块 本地调试通过了的附截图
图片描述

通过 npm run release 也打包成功了:
图片描述
图片描述
图片描述
但是一运行就报错了,就是是引入的包报错,找不到serial-number这个模块,本地调试的完全没问题啊,一直找不到原因 希望大神们帮帮忙。感谢
图片描述

//package.json
{
  "name": "electron-quick-start",
  "version": "1.0.0",
  "description": "A minimal Electron application",
  "main": "main.js",
  "scripts": {
    "postinstall": "install-app-deps",
    "start": "electron ./",
    "compile": "rimraf app/out && tsc",
    "pack": "npm run compile && build --dir",
    "dist": "npm run compile && build",
    "release": "npm run compile && build",
    "package": "electron-packager ./ --platform=darwin --arch=x64 --out ~/Desktop/lefull --version 0.30.2 --overwrite --icon=./img/app-icon.icns --ignore=node_modules/electron-* --ignore=node_modules/.bin --ignore=.git --ignore=dist --prune",
    "package:win": "electron-packager ./ --platform=win32 --arch=x64 --version 0.30.2 --overwrite --icon=./img/app-icon.icns --ignore=node_modules/electron-* --ignore=node_modules/.bin --ignore=.git --ignore=dist --prune"
  },
  "build": {
    "appId": "cn.lefull.app",
    "directories": {
      "buildResources": ".tmp",
      "output": "dist"
    },
    "mac": {
      "category": "public.app-category.utilities",
      "target": "default",
      "icon": "./img/app-icon.icns"
    },
    "win": {
      "target": "default",
      "icon": "./img/app-icon.icns"
    }
  },
  "repository": "https://github.com/electron/electron-quick-start",
  "keywords": [
    "Electron",
    "quick",
    "start",
    "tutorial",
    "demo"
  ],
  "author": "GitHub",
  "license": "CC0-1.0",
  "devDependencies": {
    "electron-compilers": "^5.0.0",
    "electron-packager": "^8.4.0",
    "electron-prebuilt": "^1.4.13",
    "getmac": "^1.2.1"
  },
  "dependencies": {
    "electron-compile": "^4.0.3",
    "whatever": "^6000.0.0"
  }
}
阅读 9.8k
4 个回答

我刚才也遇见类似的情况,找不到模块,我已经解决该问题。
分享一下我解决的经验:
原因是我使用cnpm 安装模块,cnpm下node_modules的结构和npm是完全不同的,造成找不到模块的问题,建议把node_modules全部删掉 用npm 重新安装 再执行 npm run-script packager命令(当然这会很慢……)

"electron-packager ./ --platform=win32 --arch=x64 --version 0.30.2 --overwrite --icon=./img/app-icon.icns --ignore=node_modules/electron-* --ignore=node_modules/.bin --ignore=.git --ignore=dist --prune"

这里边的--version 0.30.2版本是不是有点老啊,我用你的命令打包的程序也有问题,不过报的错和你不一样,改成--version 1.14.3就好了,你再改下version试试?

依赖了也不行哦 本地调试是可行的 但是打包过后就不得行了

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题