先去弄Cygwin環境
下載完成
打開
下一步
下一步
下一步
下一步
下一步,出現一個界面,讓你添加地址,你打開官網,選擇mirror sites,點擊下面的 Hong Kong(http://mirror-hk.koddos.net/cygwin/)
把Hong Kong的地址填上,下一步,出現一個選擇包的界面
搜索框里輸入文字自動搜索,點擊“New”的一列,有個那個下拉按鈕,選擇版本
還有automake
下一步
下一步
完成
雙擊桌面上的圖標,啟動
檢查狀態和版本
$ cygcheck -c cygwin Cygwin Package Information Package Version Status cygwin 3.0.7-1 OK
檢查gcc
$ gcc --version gcc (GCC) 7.4.0 Copyright © 2017 Free Software Foundation, Inc. 本程序是自由軟件;請參看源代碼的版權聲明。本軟件沒有任何擔保; 包括沒有適銷性和某一專用目的下的適用性擔保。
檢查make
$ make --version GNU Make 4.2.1 為 x86_64-unknown-cygwin 編譯 Copyright (C) 1988-2016 Free Software Foundation, Inc. 許可證:GPLv3+:GNU 通用公共許可證第 3 版或更新版本<http://gnu.org/licenses/gpl.html>。 本軟件是自由軟件:您可以自由修改和重新發布它。 在法律允許的范圍內沒有其他保證。
編譯Redis
這個時候,會報錯
cc: 錯誤:../deps/hiredis/libhiredis.a:No such file or directory
cc: 錯誤:../deps/lua/src/liblua.a:No such file or directory
我們進入hiredis目錄,執行make,同樣報錯
net.c: 在函數‘_redisContextConnectTcp’中:
net.c:270:21: 錯誤:‘hints’的存儲大小未知
struct addrinfo hints, *servinfo, *bservinfo, *p, *b;
解決:把hiredis目錄刪除,去GitHub下載新的替代出問題的。https://github.com/redis/hiredis
執行make,不報錯了
下面進入lua的目錄,執行make generic
這個也沒什么問題。進入linenoise目錄,執行make
最后進入根目錄,執行make
最后,啟動驗證
客戶端
但是有個問題哦,也就是說:我編譯這個東西的初衷就是,讓編譯好的Redis能直接在Windows上啟動,而利用Cygwin64編譯的,只能通過Cygwin64命令行來啟動。下面是我直接打開redis-server.exe:
所以說,從這一方面來說,沒達到我想要的結果。微軟有Windows版本的Redis,但是那個最新就是3.X的,現在redis都5.X了,想自己編譯一個高版本的還不行。。。
不過呢,雖然我們無法直接啟動,但是我們可以直接使用的。比如我本地的客戶端連接也是可以連得上的
不過Cygwin也是個不錯的玩意,能在Windows上模擬出Linux的環境。
1. 大量GNU和開源工具的集合,它們在Windows上提供類似Linux發行版的功能。
2. 一個DLL (cygwin1.dll),它提供了大量的POSIX API功能
至於那個所需的dll文件,就在安裝目錄的bin目錄下
所以~我有個大膽的想法(復制到redis-server.exe同級目錄)
成功了!
客戶端連接也沒啥問題
我整理了一下,大概就這幾個文件
我把文件打包上傳到GitHub了:https://github.com/Mysakura/DataFiles