1. 程式人生 > >linux下安裝redis出現錯誤及其解決方案

linux下安裝redis出現錯誤及其解決方案

測試於:Redis2.6.17 | CentOS 5.7

安裝:

  1. 通過wget方式直接在linux上下載Redis
    wget http://download.redis.io/releases/redis-2.6.17.tar.gz
  2. 解壓下載的redis-2.6.17.tar.gz 檔案
    tar -zxvf redis-2.6.17.tar.gz
  3. 進入解壓後的資料夾
    cd redis-2.6.17
  4. 編譯安裝
    make

執行:

  • 通過執行src資料夾下的redis-server,可以啟動redis服務:
    $ src/redis-server
    Redis啟動畫面如下:
    Redis啟動畫面
  • 通過執行src資料夾下的redis-cli, 可以訪問redis服務。
    $ src/redis-cli
    redis> set foo bar
    Ok
    redis> get foo
    "bar"

安裝過程可能出現的問題:

  1. CentOS5.7預設沒有安裝gcc,這會導致我們無法make成功。使用yum安裝:
    yum -y install gcc
  2. make時報如下錯誤:
    zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
    zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
    make[1]: *** [adlist.o] Error 1
    make[1]: Leaving directory `/data0/src/redis-2.6.2/src'
    make: *** [all] Error 2

    原因是jemalloc過載了Linux下的ANSI C的malloc和free函式。解決辦法:make時新增引數。

    make MALLOC=libc
  3. make之後,會出現一句提示
    Hint: To run 'make test' is a good idea ;) 

    但是不測試,通常是可以使用的。若我們執行make test ,會有如下提示

    [[email protected] src]$ make test
    You need tcl 8.5 or newer in order to run the Redis test
    make: ***[test] Error_1

    解決辦法是用yum安裝tcl8.5(或去tcl的官方網站http://www.tcl.tk/下載8.5版本,並參考官網介紹進行安裝)

    yum install tcl

參考資料: