1. 程式人生 > >make redis出現錯誤可能原因

make redis出現錯誤可能原因

make: * No rule to make target 錯誤原因、分析和解決辦法
上面部落格其中紅字部分:
最後發現,上述問題的產生的根本原因是工程更改路徑或者更改了其中的資料夾名稱之後,之前生成的.o.d檔案在再次編譯時並不會重新編譯,因而導致該問題。根源解決辦法是 刪除編譯後生成的obj資料夾。然後重新編譯就行了。
所謂的刪除obj資料夾只需要用

make clean

清理一下make時生成的中間檔案就行了(比如.o檔案),並不是要刪除什麼具體的資料夾。

結合centos7安裝redis時的情況,因為我們要搭建Redis Cluster時肯定要安裝多個redis。

1.使用tar -zxvf redis-stable.tar.gz對它進行解壓。

2.cd進入 redis-stable資料夾。

3.執行make PREFIX=/usr/local/redis1 install這句。

我們就安裝好一個redis了,但是如果要再安裝一個redis在/usr/local/redis2資料夾下,再執行make PREFIX=/usr/local/redis2 install就不行了,會報錯。
有一個笨辦法就是刪除解壓後的資料夾在重新解壓一次,向上面1、2、3步一樣重新make。
正確的做法是先使用make clean清理上次編譯安裝時生成的中間檔案,再執行make PREFIX=/usr/local/redis2 install。

還有要注意的一點是記得安裝gcc和gcc-c++,還要注意gcc的版本,用gcc -v來檢視當前安裝的gcc版本,版本過低(一般需要4.0以上)的話編譯redis3.0以上的是會出錯的。

 yum install gcc
 yum install gcc-c++

有可能還要安裝tcl(如果make test出現You need tcl 8.5 or newer in order to run the Redis test的話)

yum install tcl