前言

Redis Desktop Manager(RDM) 是个简单易用的GUI Redis 管理工具,支持跨平台。现在Redis Desktop Manager官网已经不在提供编译好的下载来使用,改为付费订阅的模式。

在App Store 上是近15美元,且必须是海外的账户登录App Store才可以搜索得到。

不过Redis Desktop Manager是开源的,可以通过源码自己构建,而在构建过程中遇到不少阻难。网上相关的资料也比较少。走了不少弯路才编译成功,于是记录一下,避免日后又遇到同样的问题。

一、基本环境说明

  1. macOS Catalina 10.15
  2. Xcode 11
  3. Qt 5.12.2
  4. Qt Creator 4.9
  5. Python 3.7.4

二、编译Redis Desktop Manager

2.1 安装编译基础软件

安装满足Redis Desktop Manager的编译基础工具,尤其是python的版本,必须是3.x

  1. 根据具体的macOS系统,安装最新的Xcode
  2. 安装Command_Line_Tools_for_Xcode_11
  3. 安装Qt,这个可以在官网下载,安装的过程需要勾选Qt Charts这个模块
  4. 系统默认的Python升级到3.X,这个苹果官方也建议升级,可参考The Right Way to Set Up Python on Your Mac 这篇文章

2.2 下载Redis Desktop Manager源码和相关依赖

2.2.1 下载RDM源码

终端输入命令:

git clone --recursive https://github.com/uglide/RedisDesktopManager.git -b 2019 rdm && cd ./rdm

等待下载完后,进入rdm文件夹,把Info.plist.sample复制更改为Info.plist

2.2.2 把rdm.pro文件里面debug模式注释

以win32为例,在debug前面加个#符号,其他的类似

2.2.3 安装Python相关的依赖项

RDM的编译需要依赖openssl,cmakeand python3,而python前面已经安装过了。
终端输入命令 1:

brew install openssl cmake

brew的相关操作,可参考这篇文章: macOS 使用 Homebrew 的经验分享,也可自行谷歌和百度(鉴于国内的网络环境,尤其注意替换brew安装源部分)
如果python之前没有安装,则终端输入brew install openssl cmake python3
安装python3可能会遇到link问题,这个自行谷歌百度一下

终端输入命令 2:

pip3 install -t ../bin/osx/release -r py/requirements.txt

注意,需要把“py/requirements.txt”换成你自己requirements.txt的实际路径

2.2.4 一些坑

RDM最初编译不通过时,在网上搜索,不少文章上说下载完源码还需要输入这个命令编译一下依赖:

./configure

一开始我以为我的RDM编译有问题是这个命令没执行到位引起的。当然后来这个问题,我自己也没有解决。可能新版本的RDM自己都移除了这个构建依赖了。我后面编译通过的方案是没有这一步的。

2.3 QT编译RDM的源码

2.3.1 Qt Creator 导入RDM的工程并构建

在RDM的src文件夹下打开之前注释掉debug模式的rdm.pro文件

然后右键点击重新构建项目:

如果你没有遇到下图的缺少Python.h头文件的错误,等待不到1分钟左右就会编译完成了。

如果顺利编译的话,结果存放在bin文件下:

2.3.2 解决缺少Python.h头文件问题

根据QT的告警信息,如果你往macOS编译缺少头文件如何解决的方向搜索,估计得处理一两天都不定能解决,这源于macOS自身的一些安全设置或系统变更导致的,而且不同的系统,别人的解决方案可能还不定通用。
那有没有通用的模式可以参考呢。有一个行之有效但相对“笨”的方式:看项目的源码,尤其是项目构建部分的源码。
首先查看的就是rdm.pro文件,发现这个项目自身也会导入不少头文件:

那么把缺失的Python.h头文件也可以依葫芦画瓢把它添加进去,放在最后一行。下面是我的路径,可通过在电脑搜索Python.h 找到对应的路径。

/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/Headers/*.h \

然后保存rdm.pro文件,rdm项目重新构建就好。缺少其他头文件也可以参考这种方式先处理一下。一旦你一头扎进去修复macOS 缺少 /usr/include 文件夹,可能会像我一样花费很多时间。

2.3.3 RDM的证件照

Redis Desktop Manager(RDM),总体界面还是挺简洁的,钱多的话,我也想捐款14.99刀。

三 Redis Desktop Manager的使用

参考官方的操作说明
http://docs.redisdesktop.com/en/latest/quick-start/

四 遇到的问题

  1. 在断开连接,再重连时,偶尔会闪退。需要退出客户端才行,原因暂未知

参考

  1. Redis Desktop Manager 官方安装说明
  2. Mac OS X下编译Redis Desktop Manager(RDM)
  3. macOS软件编译时找不到头文件解决方法[更新10.15]

Mac OS Catalina (10.15)下编译Redis Desktop Manager(RDM)相关推荐

  1. Mac OS X 10.8.X编译Android4.2.X源码不生成emulator的问题

    编译时的提示: Checking build tools versions- build/core/main.mk:165: ************************************* ...

  2. redis linux 运行依赖,在Ubuntu系统下安装Redis Desktop Manager的方法

    以下为你介绍在Ubuntu16.04系统下安装Redis可视化工具Redis Desktop Manager.不管是哪个Redis Desktop Manager版本,都可以采用下面的安装方式进行. ...

  3. 一、Redis入门之——介绍、安装,图形化界面(GUI)工具Redis Desktop Manager (RDM)安装

    一.Redis简介 引用官方文档的介绍: Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: ...

  4. mac os x 10.7下配置svn服务器

    1. mkdir /svn_serv_root 这个目录不是版本库,只是用来装版本库的目录. 2.svnadmin create /svn_serv_root/projectTest 这就创建了一个版 ...

  5. 解决Mac OS 山猫10.8下Xcode无法更新以及速度慢的问题

    前天升级完了山猫,结果发现xcode 4.3已经不能使用了.到App store里更新,但是不是毫无反应就是没有下载速度.最后还跳出个更新失败. 终极解决办法: 1.终端下先删除applestore产 ...

  6. windows下修改黑苹果config_黑苹果家用PC安装苹果Mac OS操作系统经验(下)工具和资源...

    黑苹果自从诞生以来,无数的爱好者和工程师无偿对其进行开发:使得今天有了简单易用的引导安装程序和制作工具,摒弃了曾经的变色龙+硬盘助手,以及EasyBCD.HFS+ for Windows等上古的安装工 ...

  7. 「Do.026」看完这篇再决定要不要升级Mac OS Catalina

    首发公众号:Android程序员日记 作者:贤榆的榆 如果喜欢,请关注.赞赏.点在看 阅读时间:1362字 4分钟 Mac Os Catalina 也就是10.15版本于本月初上旬在AppStore上 ...

  8. Windows下VMware Workstations Pro15.5.0安装dmg镜像(macOS Catalina 10.15虚拟机)

    喜闻乐见.大快人心.普天同庆.奔走相告\color{red}喜闻乐见.大快人心.普天同庆.奔走相告喜闻乐见.大快人心.普天同庆.奔走相告 喜闻乐见.大快人心.普天同庆.奔走相告\color{red}喜 ...

  9. iphone php环境,苹果(Mac OS X 10.5.6)下搭建php开发环境

    很多做设计的朋友用的是苹果mac系统,但做开发往往因环境而头疼,甚至有用虚拟机的,太痛苦了.今天让我们一起来学习下苹果系统下配置工作环境,首先得让Mac OS支持PHP.不管你是采用集成的开发环境,比 ...

最新文章

  1. 漫画:什么是公有云、私有云和混合云?
  2. python画柱状图代码-Python绘制堆叠柱状图的实例
  3. vue3 封装文件上传组件
  4. 光纤测试仪为什么使用单芯法为光纤损耗测量
  5. 【模块化开发】之 Webpack、Rollup、Parcel
  6. gitlab windows安装_【Thrift】Windows编译Thrift源码及其依赖库
  7. python中valueerror是什_Python:ValueError和Exception的区别?
  8. 在 IIS 中部署 SPA 应用,多么痛的领悟!
  9. cacti 安装与配置
  10. php !$rs-gt;bof and !$rs-gt;eof,关于rs.bof rs.eof的一些解释,请大家帮我完善一下,谢谢...
  11. 目前全球最主流的四种Android架构简介与理解
  12. Linux计划任务以及进程检测与控制
  13. 基于算力驱动、数据与功能协同的分布式动态(协同)渲染/功能运行时
  14. Spyder中出现IndentationError:unindent does not match any outer indentation level错误
  15. Python里面这些点,据说80%的新手都会一脸懵逼
  16. 如何用深度学习来写歌词(神经网络实现)
  17. centos大小写混乱问题
  18. wp-bugku-秋名山老司机
  19. pywifi连接中文wifi名称(乱码)连接不上问题解决方案
  20. 免费领取三个月苹果ARCADE订阅教程

热门文章

  1. C语言“水仙花数”是一个正三位数,他的个位十位百位的立方和等于他本身
  2. oracle静态游标与动态游标,Oracle 静态 动态游标的使用
  3. SpringBoot+Vue+ElementUI实现后台管理系统
  4. python自动化测试学习笔记合集三
  5. 推荐一款网购神器高佣联盟APP,适用个人自用兼职,自媒体等
  6. PCSC那事儿(二)
  7. Struts2框架漏洞总结与复现(上) 含Struts2检测工具
  8. myeclipse-添加jar包
  9. 云和恩墨大讲堂电子期刊第四期
  10. java中文处理学习:Hello Unicode