一、背景
项目需要对业务逻辑进行梳理,选取UML图进行记录。针对Mac M1发现StartUML安装相关内容较少,现记录并分享自己的实现。
二、具体步骤
1、安装StartUml
直接官网下载相关版本包,运行即可。
2、安装Homebrew
多数Mac下需要安装Homebrew,执行:
/bin/bash -c “$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)”
ARM 版homebrew会默认安装在 /opt/homebrew,设置环境变量,执行:
echo ‘eval “$(/opt/homebrew/bin/brew shelling)”’ >> ~/.zprofile
eval “$(/opt/homebrew/bin/brew shelling)”
低版本或非ARM版安装请参考.
3、安装npm
建议优先选取方法一,方法二和方法三是网上相关常见的安装方法,实测下来会有相关内容下载超时。
方法一,登陆Nodejs官网,下载相应安装包即可,安装后可在终端输入以下指令查看npm版本号:
npm -v
方法二,执行:
brew install npm
方法三,node包含npm,也可以执行:
brew install node
4、安装asar
sudo npm install -g asar
在安装过程中可能会遇到权限不足的情况,建议加上 sudo。
5、进入StartUml的Resources文件路径
cd /Applications/StartUml.app/Contents/Resources/
6、解压app文件夹
asar extract app.asar app
7、打开license-manager.js文件
open app/src/engine/license-manager.js
遇到open打开后无法编辑问题,建议可以利用vim指令修改,如下:
vim app/src/engine/license-manager.js
8、找到checkLicenseValidity函数,修改如下:
checkLicenseValidity () {
if (packageJSON.config.setappBuild) {
setStatus(this, true)
} else {
this.validate().then(() => {
setStatus(this, true)
}, () => {
//setStatus(this, false)
//UnregisteredDialog.showDialog()
setStatus(this, true)
})
}
}
9、进入StartUml的Resources文件路径,重新压缩文件,如下:
asar pack app app.asar
三、验证
打开StartUml,验证无需注册和没有Unregistered标志则表示破解成功。