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,
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是需要预先编译的
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的引用
#include <QJsonDocument> #include <QJsonObject> +#include <QUuid>
然后是 src/qml/GlobalSettings.qml, 将QtQuick的版本从2.15降为2.14, 因为Qt5.14.2带的版本只到2.14
-import QtQuick 2.15 +import QtQuick 2.14 import QtQuick.Layouts 1.1
在src/ 目录下新建一个shell脚本 build.sh, 写入以下内容, 这个目的是在编译前配置好Qt5.14.1的环境变量,
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, 写入
#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
这样就可以启动编译好的可执行文件了.