2014-03-29 97 views
0

我已經安裝了redis onn linux。 Redis的服務器正常啓動但是當我嘗試啓動redis的-CLI我得到這個錯誤redis-cli不能在linux上工作

慶典:Redis的-CLI:找不到命令

文件的Redis-CLI輸出

ELF 64位LSB可執行,X86-64,版本1(SYSV),動態鏈接(使用共享庫),用於GNU/Linux 2.6.18,BuildID [SHA1] = 0x5fe1c6d3da13df88f2ea826ac762f088c29b81d5,不剝離

回答

1

好像redis-cli存在時,讀你回答。請使用which redis-cli進行檢查。

我已經在幾臺linux機器上安裝了redis,通常它非常流暢。我想你已經遇到了一個特例。

這是我的想法:

這可能是一個動態鏈接問題。

所以檢查標題dump -H -X64 redis-cli。 在標題中,您可以看到它正在嘗試查找哪些共享對象。可能會有另一個包中的共享對象,例如只有32位。醜陋,錯誤,但它發生。

使用ldd運行時相關性檢查程序來查看這些頭實際在您的系統上的結果。當不存在時安裝它。然後只需運行ldd redis-cli

現在你已經知道了什麼是錯誤的,你可以做幾件事情。

1)如果可能,刪除衝突的包。

2)使用LIBENV環境變量,以設置共享對象的搜索路徑,現有起動過程

3)使用在編譯/鏈接時-blibpath鏈接器選項來改變頭,給它一個給不同的搜索路徑。 -bnolibpath也可以幫助你。

4)之後修補標題。有這方面的工具。這通常不是首選的方式。

希望這有助於TW

編輯:

雖然makemake testmake install總是很好,在服務器安裝腳本install_server.sh總是有點馬車。這已經在2.8.8中得到了修復。我建議使用最新版本。

編輯2:

的OP的問題變成了什麼都沒有做動態鏈接,這是一個簡單的路徑問題。爲了歷史的目的,我留下了答案。

+0

我只安裝了2.8.8。我用這個鏈接來安裝redis(使用2.8.8安裝而不是2.6)。 不知何故redi-server正在工作。此外,ldd redis-cli和redis-server也提供完全相同的輸出。 不確定問題在哪裏。 我可能會問太多。你有一個鏈接,其中有安裝redis的詳細步驟 – Bads123

4

我不知道是什麼原因 做,但是當我運行使用此命令

在/ usr/local/bin目錄/ redis的-CLI它的工作原理

但是從當我運行Redis的-CLI在/ usr/local/bin目錄/文件夾中我得到的錯誤

慶典:Redis的-CLI:命令未找到

看起來有些路徑問題

+1

是的,/ usr/local/bin似乎不在你的'PATH'中。編輯你的.profile來添加它(還有其他方法,這是一個簡單的方法)。沒有找到命令的原因:甚至沒有'.'(當前目錄)在你的路徑中。這是一個很好的做法,我不會改變這一點。如果你發出了'。/ redis-cli'就可以工作。有關安裝redis的詳細步驟:請參閱.tar附帶的'README'文件。 –

0

如果從源碼構建和您在包含源的默認redis-stable目錄的時候,你應該能夠通過運行來啓動命令行:

./src/redis-cli