MacBook安装使用redis
安装redis服务器
采用Docker安装redis
$ docker search redis
$ docker pull redis
$ docker images
$ docker images redis
编辑脚本redis-server.sh
#!/bin/bash
# -p 6379:6379 : 将容器的6379端口映射到主机的6379端口
# -v ~/software/redis/data:/data : 将主机中/Users/xxx/software/redis/data挂载到容器的/data
# redis-server --appendonly yes : 在容器执行redis-server启动命令,并打开redis持久化配置
docker run -p 6379:6379 -v /Users/xxx/software/redis/data:/data -d redis:latest redis-server --appendonly yes
提供快捷命令
$ sudo ln -s ~/software/redis/redis-server.sh ~/bin/redis-server
注意:需将 ~/bin
添加到环境变量中
$ vi ~/.bash_profile
export PATH="~/bin:$PATH"
$ source ~/.bash_profile
然后就可以通过redis-server启动redis服务了
下载安装
https://redis.io/download
安装redis客户端
redis客户端在官网是要收费
的,好在作者开源了项目,可以去github上下载测试版。ps:测试版需要自己编译,不想麻烦的可以在网上找别人编译好的
下载源码
这里要注意下载的源码是有第三方依赖的,所以git的时候要加–recursive,要保证第三方依赖包也下载下来
git clone --recursive https://github.com/uglide/RedisDesktopManager rdm && cd ./rdm
安装QT
编译需要安装qt软件
brew install qt
brew cask install qt-creator
然后在 Qt Creator 里改一下 Qt Versions
- 偏好设置-Kits-Qt Versions
添加路径/usr/local/Cellar/qt/5.13.2/bin/qmake(此为刚刚安装的qt路径)
- 偏好设置-Kits-构建套件(Kit)
Qt版本-设置为Qt 5.13.2,把编译器C和C++全部改为Clang
安装python依赖,并复制Info.plist
brew install python3
pip3 install -r src/py/requirements.txt
cp ./src/resources/Info.plist.sample ./src/resources/Info.plist
安装python3时候可能提示下面错误
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied @ dir_s_mkdir - /usr/local/Frameworks
Error: Permission denied @ dir_s_mkdir - /usr/local/Frameworks
解决:
$ sudo mkdir /usr/local/Frameworks
$ sudo chown $(whoami):admin /usr/local/Frameworks
$ brew link python
启动QT编译RedisDesktopManager
双击打开(刚git clone下来的redis客户端源码的src目录下)rdm.pro
选择项目展开 desktop->build 选择 release 等待(左下角)运行的三角变绿,点击运行工程
编译后会直接启动RedisDesktopManager应用,但是不会生成app文件,只在bin/osx/debug下生成了一个可执行程序Redis Desktop Manager
,此时需要手动修改src/rdm.pro的配置
用文本编辑器打开rdm.pro文件,找到debug: CONFIG-=app_bundle并注释他,并加入以下内容
#debug: CONFIG-=app_bundle
CONFIG += static release
CONFIG -= debug
再次执行编译,编译成功后,可以在bin/osx/release下找到Redis Desktop Manager.app
此时只能在本机运行,因为他依赖了本地的一些库,如QT库、Python等,如果想给别人是用需要将这些依赖库复制到 RedisDesktopManager.app/Contents/Frameworks的目录下, 那么我们怎么知道用了那些库呢?qt给我们提供了一个方便的工具macdeployqt,操作如下:
/usr/local/Cellar/qt/5.13.2/bin/macdeployqt "Redis Desktop Manager.app" -qmldir=../../../src/qml
执行上面命令时,我这里报错
ERROR: no file at "/usr/local/opt/python/lib/Python.framework/Versions/3.7/Python"
File exists, skip copy: "Redis Desktop Manager.app/Contents/PlugIns/quick/libqtquickcontrols2fusionstyleplugin.dylib"
File exists, skip copy: "Redis Desktop Manager.app/Contents/PlugIns/quick/libqtquickcontrols2imaginestyleplugin.dylib"
File exists, skip copy: "Redis Desktop Manager.app/Contents/PlugIns/quick/libqtquickcontrols2materialstyleplugin.dylib"
File exists, skip copy: "Redis Desktop Manager.app/Contents/PlugIns/quick/libqtquickcontrols2universalstyleplugin.dylib"
后来发现我的python路径不同,路径为/usr/local/opt/python/Frameworks/Python.framework/Versions/3.7/Python
,我是通过创建一个软连接解决
mkdir -p /usr/local/opt/python/lib/Python.framework/Versions/
cd /usr/local/opt/python/lib/Python.framework/Versions/
ln -s /usr/local/opt/python/Frameworks/Python.framework/Versions/3.7 3.7
右键 Redis Desktop Manager.app
->显示包内容你会发现在Frameworks目录下多了好多内容。至此你就可以把这个应用给别人使用了
打包dmg
为了更方便给别人使用我们将 app 打包成 dmg 安装包。在桌面新建一个文件夹,取名rdm吧,将Redis Desktop Manager.app
文件放进去。为了实现拖拽到Application的效果,需要在这个文件夹里放一个Application的替身。具体做法是cd到这个目录,建立一个软链接
cd /Users/xxxxx/Desktop/rdm
ln -s /Applications/ Applications
接下来,用macos自带的磁盘工具
打包成dmg安装包,打开磁盘工具
,选择文件-新建映像-来自文件夹的映像…,再选择桌面的rdm目录,根据提示完成整个步骤.至此打包完成!!!
其他问题
关闭QuickStart弹框
程序每次运行都会弹出更新和QuickStart弹框,为了解决该问题,直接找到app.qml文件(源码的src/qml目录中)注释掉以下代码:
Component.onCompleted: {
if (connectionsManager.size() == 0)
quickStartDialog.open()
}