RedisDesktopManager是一款优秀的跨平台redis图形化管理软件,支持windows,macos,linux等,但是官方为了开源软件的良性发展,不再免费提供编译好的安装包,但是源码依然开源,可以下载官网源码自己进行编译,拉下来以macos为例介绍如何编译打包
1.下载源码
git clone --recursive https://github.com/uglide/RedisDesktopManager rdm && cd ./rdm
这里要注意下载的源码是有第三方依赖的,所以git的时候要加–recursive,要保证第三方依赖包也下载下来
2.下载安装Qt,我这里是采用Homebrew进行安装:
brew install qt
brew cask install qt-creator
如果遇到问题,可以参考以下链接:qt问题解决链接
3.安装python依赖,并复制Info.plist
brew install python3
pip3 install -r src/py/requirements.txt
cp ./src/resources/Info.plist.sample ./src/resources/Info.plist
4.启动 QT
打开 src 下的rdm.pro,
选择项目展开 desktop->build 选择 release 等待运行的三角变绿,
点击运行工程
5.打包app
经过步骤3和4成功运行会得到 rdm 直接运行就可以使用,按照 QT 使用的说法 说明应该是在第四步运行工程的时候就已经生成了对应 app 文件包了,但事实是我这里没有自动生成,所以找原因,在 QT 官网上找到这样一句说通过"CONFIG-=app_bundle" 可以关闭
QT 自动打包成一个后缀为.app 的应用包,结果搜索一下 rpm.pro 的文件确实有这样的配置吧这个功能关闭了。
6.发布app 给别人使用并打包为 dmg
经过第5步的一顿折腾这个时候这个 app 还只能在你本地运行被人想用的时候是用不了的,因为他依赖了本地的一些 QT 库,如果想给别人是用需要将这些依赖库复制到rdm.app/Contents/Frameworks的目录下;那么我们怎么知道用了那些库呢?qt 给我们提供了一个方便的工具macdeployqt,这个工具在QT的安装目录下,运行如下命令:
/usr/local/Cellar/qt/5.13.1/bin/macdeployqt rdm.app -qmldir=../../../src/qml
这样得到的一个其他人没有环境也可运行的应用包,右键 rdm.app->显示包内容你会发现在Frameworks目录下多了好多内容。至此你就可以把这个应用给别人使用了。
7.打包为 dmg
为了更方便给别人使用我们将 app 打包成 dmg 安装包。在桌面新建一个文件夹,取名dmg吧,将app文件放进去。为了实现拖拽到Application的效果,需要在这个文件夹里放一个Application的替身。具体做法是cd到这个目录,建立一个软链接。
cd /Users/xxxxx/Desktop/dmg
ln -s /Applications/ Applications
然后利用系统自带的磁盘工具打包成 dmg
好了,现在打开这个dmg,就能直接拖拽到Applications里了,这样我们的应用出现在Launchpad里了。
参考链接 :https://www.jianshu.com/p/95d218d46d3b