electron-builder在ubantu系统下打包.deb软件

在ubantu上安装node.js和npm

sudo apt-get update

sudo apt-get install nodejs npm
  1. 上传你的前端文件包,放在一个空目录下

  1. 进入test根目录

cd 0228/softword
  1. 在根目录下运行以下命令安装 Electron Builder:(如果安装失败,一般是网络原因,可以更换npm源,当前为华为源)

    

  npm install --save-dev electron-builder

  1. 安装完成后,在目录下会自动创建一个 package.json 文件,其中包含以下内容

修改package.json 文件,添加以下内容

{

"name": "app",

"version": "1.0.0",

"description": "描述",

"main": "src/main.js",

"homepage":"http://127.0.0.1:8088",

  "build":{

  "files":[

  "src/*/"

  ],

  "directories":{

  "output":"wsi"

  },

  "asar":false,

  "linux":{

  "target":"deb",

  "icon":"/favicon.png"

  }

  },

  "devDependencies": {

    "electron": "^24.8.0",

    "electron-builder":"24.8.0"

  },

"scripts": {

"start": "electron .",

"xz": "electron-builder --linux tar.xz",

"deb": "electron-builder --linux deb",

"rpm": "electron-builder --linux rpm",

"snap": "electron-builder --linux snap",

"flatpak": "electron-builder --linux flatpak",

"freebsd": "electron-builder --linux freebsd",

"appimage": "electron-builder --linux AppImage",

"postinstall": "cp postinst dist/ && chmod +x dist/postinst",

  "build": "electron-builder"

},

"author": {

"name": "作者",

"email": "some@example.com"

},

"license": "许可证",

"dependencies": {

    "7zip-bin": "^5.2.0",

    "agent-base": "^6.0.2",

    "ajv": "^6.12.6",

    "ajv-keywords": "^3.5.2",

    "ansi-regex": "^5.0.1",

    "ansi-styles": "^4.3.0",

    "app-builder-bin": "^4.0.0",

    "app-builder-lib": "^24.12.0",

    "argparse": "^2.0.1",

    "async": "^3.2.5",

    "async-exit-hook": "^2.0.1",

    "asynckit": "^0.4.0",

    "at-least-node": "^1.0.0",

    "balanced-match": "^1.0.2",

    "base64-js": "^1.5.1",

    "bluebird": "^3.7.2",

    "bluebird-lst": "^1.0.9",

    "brace-expansion": "^2.0.1",

    "buffer-equal": "^1.0.1",

    "buffer-from": "^1.1.2",

    "builder-util": "^24.9.4",

    "builder-util-runtime": "^9.2.3",

    "chalk": "^4.1.2",

    "chownr": "^2.0.0",

    "chromium-pickle-js": "^0.2.0",

    "ci-info": "^3.9.0",

    "cliui": "^8.0.1",

    "color-convert": "^2.0.1",

    "color-name": "^1.1.4",

    "combined-stream": "^1.0.8",

    "commander": "^5.1.0",

    "compare-version": "^0.1.2",

    "concat-map": "^0.0.1",

    "config-file-ts": "^0.2.6",

    "cross-spawn": "^7.0.3",

    "debug": "^4.3.4",

    "delayed-stream": "^1.0.0",

    "dir-compare": "^3.3.0",

    "dmg-builder": "^24.12.0",

    "dotenv": "^9.0.2",

    "dotenv-expand": "^5.1.0",

    "eastasianwidth": "^0.2.0",

    "ejs": "^3.1.9",

    "electron-publish": "^24.9.4",

    "emoji-regex": "^8.0.0",

    "err-code": "^2.0.3",

    "escalade": "^3.1.2",

    "fast-deep-equal": "^3.1.3",

    "fast-json-stable-stringify": "^2.1.0",

    "filelist": "^1.0.4",

    "foreground-child": "^3.1.1",

    "form-data": "^4.0.0",

    "fs-extra": "^10.1.0",

    "fs-minipass": "^2.1.0",

    "fs.realpath": "^1.0.0",

    "get-caller-file": "^2.0.5",

    "glob": "^7.2.3",

    "graceful-fs": "^4.2.11",

    "has-flag": "^4.0.0",

    "hosted-git-info": "^4.1.0",

    "http-proxy-agent": "^5.0.0",

    "https-proxy-agent": "^5.0.1",

    "iconv-lite": "^0.6.3",

    "inflight": "^1.0.6",

    "inherits": "^2.0.4",

    "is-ci": "^3.0.1",

    "is-fullwidth-code-point": "^3.0.0",

    "isbinaryfile": "^5.0.2",

    "isexe": "^2.0.0",

    "jackspeak": "^2.3.6",

    "jake": "^10.8.7",

    "js-yaml": "^4.1.0",

    "json-schema-traverse": "^0.4.1",

    "json5": "^2.2.3",

    "jsonfile": "^6.1.0",

    "lazy-val": "^1.0.5",

    "lodash": "^4.17.21",

    "lru-cache": "^6.0.0",

    "mime": "^2.6.0",

    "mime-db": "^1.52.0",

    "mime-types": "^2.1.35",

    "minimatch": "^5.1.6",

    "minimist": "^1.2.8",

    "minipass": "^5.0.0",

    "minizlib": "^2.1.2",

    "mkdirp": "^1.0.4",

    "ms": "^2.1.2",

    "once": "^1.4.0",

    "path-is-absolute": "^1.0.1",

    "path-key": "^3.1.1",

    "path-scurry": "^1.10.1",

    "plist": "^3.1.0",

    "promise-retry": "^2.0.1",

    "punycode": "^2.3.1",

    "read-config-file": "^6.3.2",

    "require-directory": "^2.1.1",

    "retry": "^0.12.0",

    "rimraf": "^5.0.5",

    "safer-buffer": "^2.1.2",

    "sanitize-filename": "^1.6.3",

    "sax": "^1.3.0",

    "semver": "^7.6.0",

    "shebang-command": "^2.0.0",

    "shebang-regex": "^3.0.0",

    "signal-exit": "^4.1.0",

    "simple-update-notifier": "^2.0.0",

    "source-map": "^0.6.1",

    "source-map-support": "^0.5.21",

    "stat-mode": "^1.0.0",

    "string-width": "^4.2.3",

    "string-width-cjs": "^4.2.3",

    "strip-ansi": "^6.0.1",

    "strip-ansi-cjs": "^6.0.1",

    "supports-color": "^7.2.0",

    "tar": "^6.2.0",

    "temp-file": "^3.4.0",

    "tmp": "^0.2.2",

    "tmp-promise": "^3.0.3",

    "truncate-utf8-bytes": "^1.0.2",

    "typescript": "^5.3.3",

    "undici-types": "^5.26.5",

    "universalify": "^2.0.1",

    "uri-js": "^4.4.1",

    "utf8-byte-length": "^1.0.4",

    "which": "^2.0.2",

    "wrap-ansi": "^7.0.0",

    "wrap-ansi-cjs": "^7.0.0",

    "wrappy": "^1.0.2",

    "xmlbuilder": "^15.1.1",

    "y18n": "^5.0.8",

    "yallist": "^4.0.0",

    "yargs": "^17.7.2",

    "yargs-parser": "^21.1.1"

  }

}

创建一个 main.js(入口文件,对应package.json文件中的main参数) 文件,内容如下:(放置在前端代码包中,src/)

const { app, BrowserWindow } = require('electron');



let mainWindow;



function createWindow() {

  mainWindow = new BrowserWindow({

    width: 800,

    height: 600,

    webPreferences: {

      nodeIntegration: true

    }

  });



  mainWindow.loadFile('src/index.html'); // 加载文件,一般为前端包中的入口文件



  mainWindow.on('closed', function () {

    mainWindow = null;

  });

}



app.on('ready', createWindow);



app.on('window-all-closed', function () {

  if (process.platform !== 'darwin') app.quit();

});



app.on('activate', function () {

  if (mainWindow === null) createWindow();

});

运行打包命令

npx electron-builder

打包成功,成功后会输出到package.json对应的输出目录中("output":"wsi")

安装

进入安装包所在目录,运行

sudo dpkg -i app_1.0.0_amd64.deb 

查看结果

运行安装包名称,改安装名称就为 app

注意:npx在npm5.12版本后自带,如果找不到npx命令,进入安装的node.js下找到npx,挂载软连接至usr/local/bin下

注意:

说明安装的electron版本不对,重新执行

npm install --save-dev electron-builder

注意:

连接超时,换源,继续执行打包命令

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值