Ubuntu编译安装Redis Desktop Manager
Redis Desktop Manager for OSX&Ubuntu 的安装版是收费的, 如果自己编译则是免费的.
Ubuntu16.04编译RDM 0.9
安装过程参考官方提供的文档 http://docs.redisdesktop.com/en/latest/install/#build-from-source
1. Git导出源码
git clone --recursive https://github.com/uglide/RedisDesktopManager.git -b 0.9 rdm && cd ./rdm
注意: 其中有部分源码来自于Google上的代码库, 需要设置git代理, git config --global http.proxy 和 git config --global https.proxy
2. 按以下步骤执行
cd src/ # 这一步会安装依赖的库, 例如qt59, 注意查看执行过程确保都成功 ./configure # 设置qt环境变量 source /opt/qt59/bin/qt59-env.sh # qmake # make # sudo make install # cd /usr/share/redis-desktop-manager/bin # 这一步是必须的, 否则无法启动 sudo mv qt.conf qt.backup
注意: 安装后, 直接运行rdm.sh会无法启动, 需要将 source /opt/qt59/bin/qt59-env.sh 这句加到sh文件头部, 如下
#!/bin/bash source /opt/qt59/bin/qt59-env.sh DIR=$(dirname "$(readlink -f "$0")") export LD_LIBRARY_PATH="$DIR/../lib":$LD_LIBRARY_PATH $DIR/rdm
Ubuntu18.04编译RDM0.9
Update 2018-05-08: 在Ubuntu18.04上编译时出错, 错误为
Could NOT find ZLIB (missing: ZLIB_LIBRARY ZLIB_INCLUDE_DIR)
通过安装 zlib1g-dev 解决
sudo apt-get install zlib1g-dev
这个版本不需要再添加qt59-env.sh, 但是编译安装后的rdm.sh 不是可执行的, 需要手动设置一下, sudo chmod +x rdm.sh
Ubuntu20.04编译RDM 2020
在Ubuntu20.04上, 安装了Qt 5.14.2, 安装python3.8, 检出2020,
1 | git clone --recursive https: //github .com /uglide/RedisDesktopManager .git -b 2020 rdm |
这一步会循环检出git子模块 lz4 v1.9.2, pyotherside 1.5.5, qredisclient, 以及qredisclient下的 asyncfuture 0.4.1-44 和 hiredis v0.14.0, 其中lz4是需要预先编译的
1 2 3 4 5 | cd 3rdparty /lz4/build/cmake # 配置到当前目录, 注意最后的 . 生成Makefile cmake -DBUILD_STATIC_LIBS= true . # 编译 make |
完成后确认 liblz4.so, liblz4.a这些文件在 lz4/build/cmake/ 这个目录下
对代码做一些修改, 首先是 src/app/models/connectionsmanager.cpp, 需要在头上添加对 QUuid的引用
1 2 3 | #include <QJsonDocument> #include <QJsonObject> +#include <QUuid> |
然后是 src/qml/GlobalSettings.qml, 将QtQuick的版本从2.15降为2.14, 因为Qt5.14.2带的版本只到2.14
1 2 3 | -import QtQuick 2.15 +import QtQuick 2.14 import QtQuick.Layouts 1.1 |
在src/ 目录下新建一个shell脚本 build.sh, 写入以下内容, 这个目的是在编译前配置好Qt5.14.1的环境变量,
1 2 3 4 5 6 | QT_BASE_DIR= /opt/qt/Qt5 .14.2 /5 .14.2 /gcc_64 PATH=$QT_BASE_DIR /bin :$PATH LD_LIBRARY_PATH=$QT_BASE_DIR /lib/ :$LD_LIBRARY_PATH $QT_BASE_DIR /bin/qmake rdm.pro /usr/bin/make clean && /usr/bin/make -j4 |
然后执行这个脚本进行编译. 最后生成的可执行文件会在 bin/linux/release/rdm
运行这个rdm需要配置一些环境变量, 因为Ubuntu20.04自带的Qt版本较低, qml版本只到2.12, 而2020这个分支当前版本已经用到了2.15, 为了能使用Qt5.14.2, 通过修改代码降到了2.14进行编译. 在运行时必须使用Qt5.14.2的动态链接库和qml库, 新建shell脚本 rdm.sh, 写入
1 2 3 4 | #export QT_DEBUG_PLUGINS=1 export LD_LIBRARY_PATH= /opt/qt/Qt5 .14.2 /5 .14.2 /gcc_64/lib export QT_INSTALL_QML= /opt/qt/Qt5 .14.2 /5 .14.2 /gcc_64/qml . /rdm |
这样就可以启动编译好的可执行文件了.
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程