当前位置: 首页 > news >正文

Slog80_打包ArthurSlogMarkdownEditor编辑器至mac平台dmg安装包GET!

  • ArthurSlog

  • SLog-80

  • Year·1

  • Guangzhou·China

  • September 21th 2018

微信扫描二维码,关注我的公众号

  • ArthurSlog.com

  • MSDN: ArthurSlog

  • GitHub: BlessedChild

  • NPMJS.com: arthurslog

  • 掘金主页

  • 简书主页

  • segmentfault

我明白 无论等待我的是什么 选择前行是我唯一确定的答案


开发环境MacOS(High Sierra 10.13.6 (17G65))

需要的信息和信息源:

  • electron-installer-dmg

开始编码

  • 本次,把之前打包好的ArthurSlogMarkdownEditor可执行文件打包成一个dmg(MacOS平台)的安装包

  • 这里我们需要用到的工具就是 electron-installer-dmg

  • So,npm走起(最近看到有人调侃前端开发只需要两步:1. npm i; 2. npm run build)

  • 切换至项目路径下

cd ~/Desktop/ArthurSlogMarkdownEditor/

sudo npm install electron-installer-dmg --save-dev --unsafe-perm=true

sudo npm install electron-installer-dmg -g --unsafe-perm=true

  • 在按照过程中,可能会出现警告和错误提示(比如node-gyp编译失败))

  • 根据node-gyp的说明:https://github.com/nodejs/node-gyp

  • 可知:

On macOS
python (v2.7 recommended, v3.x.x is not supported) (already installed on macOS)
Xcode
You also need to install the Command Line Tools via Xcode. You can find this under the menu Xcode -> Preferences -> Locations (or by running xcode-select --install in your Terminal)
This step will install gcc and the related toolchain containing make
复制代码
  • 所以,需要打开xcode工具,点击左上角Xcode -> Preferences -> Locations -> Command Line Tools -> Xcode10.0(10A255)

  • 之后重新执行

sudo npm install electron-installer-dmg --save-dev --unsafe-perm=true

sudo npm install electron-installer-dmg -g --unsafe-perm=true

  • 成功安装之后,更新一下 package.json文件:

~/Desktop/ArthurSlogMarkdownEditor/package.json

{
  "name": "ArthurSlogBrowser_Nodejs",
  "productName": "ArthurSlogMarkdownEditor",
  "version": "0.1.0",
  "description": "This is a Browser by Nodejs",
  "private": "true",
  "main": "main.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "electron  .",
    "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=assets/icons/mac/ICON.png.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.png.ico --prune=true --out=release-builds --version-string.CompanyName=CE --version-string.FileDescription=CE --version-string.ProductName=\"ArthurSlogMarkdownEditor\"",
    "package-linux": "electron-packager . electron-tutorial-app --overwrite --asar=true --platform=linux --arch=x64 --icon=assets/icons/linux/ICON.png --prune=true --out=release-builds",
    "create-installer-mac": "electron-installer-dmg ./release-builds/ArthurSlogMarkdownEditor-darwin-x64/ArthurSlogMarkdownEditor.app ArthurSlogMarkdownEditor --out=release-builds --overwrite --icon=assets/icons/mac/ICON.png.icns"
  },
  "keywords": [],
  "author": "ArthurSlog",
  "license": "ISC",
  "devDependencies": {
    "electron": "^2.0.9",
    "electron-installer-dmg": "^2.0.0",
    "electron-packager": "^12.1.2"
  },
  "dependencies": {
    "markdown-it": "^8.4.2"
  }
}
复制代码
  • 上面添加了一条新的构建指令:

~/Desktop/ArthurSlogMarkdownEditor/package.json

"create-installer-mac": "electron-installer-dmg ./release-builds/ArthurSlogMarkdownEditor-darwin-x64/ArthurSlogMarkdownEditor.app ArthurSlogMarkdownEditor --out=release-builds --overwrite --icon=assets/icons/mac/ICON.png.icns"
复制代码
  • Ok,现在执行命令

sudo npm run package-mac

sudo npm run create-installer-mac

  • 成功构建之后,会在路径 release-builds下生成 ArthurSlogMarkdownEditor.dmg文件

  • 双击 ArthurSlogMarkdownEditor.dmg文件,进行安装,把ArthurSlogMarkdownEditor拉拽至文件夹里

  • 点击docker上的“启动台”,你会发现 ArthurSlogMarkdownEditor 已经安装成功了

  • 点击打开 ArthurSlogMarkdownEditor,测试一下,一切正常

  • 至此,完成了打包 ArthurSlogMarkdownEditor编辑器至mac平台dmg安装包。


欢迎关注我的微信公众号 ArthurSlog

微信扫描二维码,关注我的公众号

如果你喜欢我的文章 欢迎点赞 留言

谢谢

相关文章:

  • 一个网站同时监听两个端口
  • DataSet数据转换string字符串
  • Android 各种路径详细说明
  • 【SQL Server DBA】日常巡检1:数据库空间、状态、使用的监控
  • Java并发编程之Java CAS操作
  • jvm对类的加载顺序测试
  • Python正则表达式初识(二)
  • public protected private与this用法
  • 笠翁对韵(全卷,珍藏版附注释)
  • 独领风骚的开源接口管理平台 YApi v1.3.23 发布
  • SQL Server页类型汇总+疑问
  • 实验报告二
  • JS页面跳转并及时刷新
  • WinServer2008安装MySql
  • 出栈次序问题 (转)
  • 【从零开始安装kubernetes-1.7.3】2.flannel、docker以及Harbor的配置以及作用
  • 2019年如何成为全栈工程师?
  • Angular6错误 Service: No provider for Renderer2
  • iOS 颜色设置看我就够了
  • miaov-React 最佳入门
  • MySQL数据库运维之数据恢复
  • PHP 的 SAPI 是个什么东西
  • SpiderData 2019年2月25日 DApp数据排行榜
  • Twitter赢在开放,三年创造奇迹
  • unity如何实现一个固定宽度的orthagraphic相机
  • VUE es6技巧写法(持续更新中~~~)
  • 利用jquery编写加法运算验证码
  • 微信小程序设置上一页数据
  • 怎么将电脑中的声音录制成WAV格式
  • #传输# #传输数据判断#
  • $.proxy和$.extend
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (Git) gitignore基础使用
  • (八)Flask之app.route装饰器函数的参数
  • (独孤九剑)--文件系统
  • (二)学习JVM —— 垃圾回收机制
  • (六) ES6 新特性 —— 迭代器(iterator)
  • (学习日记)2024.04.04:UCOSIII第三十二节:计数信号量实验
  • ./configure、make、make install 命令
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET开发者必备的11款免费工具
  • .Net小白的大学四年,内含面经
  • [ 攻防演练演示篇 ] 利用通达OA 文件上传漏洞上传webshell获取主机权限
  • [《百万宝贝》观后]To be or not to be?
  • [1127]图形打印 sdutOJ
  • [2016.7 test.5] T1
  • [8481302]博弈论 斯坦福game theory stanford week 1
  • [Asp.net mvc]国际化
  • [BZOJ1089][SCOI2003]严格n元树(递推+高精度)
  • [C/C++]数据结构 循环队列
  • [C++] 默认构造函数、参数化构造函数、拷贝构造函数、移动构造函数及其使用案例
  • [CDOJ 838]母仪天下 【线段树手速练习 15分钟内敲完算合格】
  • [FUNC]判断窗口在哪一个屏幕上
  • [Java] 什么是IoC?什么是DI?它们的区别是什么?