Windows 10 企业版
Redis
redis-6.0.16.tar.gz
redis-6.0.16能完全安装成功,试过更高版本的6.2.7和7.0.4安装过程中都有报错。
[Makefile:376: debug.o] Error 1
[Makefile:9: install] Error 2
从网上的资料来看,都说redis6.2和7.0版本问题,下载6.0版的,编译果然没有相关的问题。看来Redis主要并不是针对windows环境,而是在linux环境下使用更广泛。
Redis的正式发布版不是安装程序,也不是可执行程序,而是源代码(开源就是直接给源代码)。所以需要自行编译成对应平台的程序后才能正常使用。
编译Redis需要使用gcc(一套GNU的编译器集)和Make工具(GNU的项目生成工具),因此在编译Redis前要先安装这两个工具。
Windows平台默认并不包含着两个工具,但幸好有MSYS2(Minimal System 2)工具,该工具的主要目的就是为windows软件提供构建环境。可以用MSYS2作为构建工具,生成Redis程序。MSYS2官网的下载页面:http://repo.msys2.org/distrib/,该页面有i686和x86_64两个文件夹,64位操作系统选x86_64文件夹下最新版(msys2-base-x86_64-yyyyMMdd.tar.xz)。解压后先修改pacman的镜像地址。Etc\pacman.d目录下修改这三个文件:mirrorlist.mingw32、mirrorlist.mingw64、mirrorlist.msys。修改方法都是把认为访问速度最快的.cn结尾地址复制到该文件的第一行,让pacman有限使用该镜像地址下载软件包。第一次运行MSYS2根目录下的msys2.exe执行初始化,等初始化完成后退出msys2.exe。然后重新启动msys2.exe。
pacman -Syu
pacman -S gcc make
把redis-6.0.16.tar.gz解压到D盘根目录,然后:
cd /d/redis-6.0.16
make PREFIX=/d/Redis-X64-6.0.16 install
编译成功的Redis位于:D:\Redis-X64-6.0.16\bin
果然一如既往的不顺利,大致总结为两个问题:
- pkg-config : command not found (意思没有找到pkg-config命令)
- In function 'dumpX86Calls',在函数里没有找到Dl_info类型名称
第一个不难解决,不就是编译过程中,无法识别pkg-config命令吗?说白了,就是缺少相应的程序依赖啊,下载一下,安装一下就可以了。
安装方法就是pacman -S 依赖包,即pacman -S pkg-config 回车。
若以后再遇到同样的 ***:command not found,你就可以pacman安装一下,就能解决。最后简单介绍一下pacman的命令用法:
- pacman -Sy 更新软件包数据
- pacman -Syu 更新所有
- pacman -Ss xx 查询软件xx的信息
- pacman -S xx 安装软件xx
- pacman -R xx 删除软件xx
接着看第二个问题:从网上的资料来看,都说redis6.2版本问题,下载6.0版的,编译果然没有相关的问题。
编译完成,到这还不算完,因为编译的exe文件不能独立执行,需要借助msys2的库文件msys-2.0.dll,拷贝的编译的文件夹(D:\Redis-X64-6.0.16\bin)里即可,然后就可以用使用cmd,命令运行了。从D:\redis-6.0.16目录拷贝redis.conf到D:\Redis-X64-6.0.16\bin并重命名为redis.windows.conf,修改数据库密码:# requirepass foobared 修改为requirepass 32147。
注:msys-2.0.dll文件存储在D:\msys2\msys64\usr\bin\目录下。
如果你不想记忆文件路径,又想快速的找到某个文件,推荐大家使用everything
启动服务器端:
D:\Redis-X64-6.0.16\bin\redis-server.exe redis.windows.conf
也可以把这句写成run.bat批处理文件。
下面你可以用另一个cmd窗口测试一下客户端:
命令:c:\services\redis6\redis-cli.exe 回车