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

 这样就可以启动编译好的可执行文件了.

 

posted on 2017-11-20 19:36  Milton  阅读(1029)  评论(0编辑  收藏  举报

导航