linux--bash: redis-server: 未找到命令
阿新 • • 發佈:2018-12-22
linux 安裝redis過程中出現了異常,make不通過,異常如下:
[[email protected] redis-2.8.3]# make cd src && make all make[1]: 進入目錄“/usr/local/services/redis/redis-2.8.3/src” rm -rf redis-server redis-sentinel redis-cli redis-benchmark redis-check-dump redis-check-aof *.o *.gcda *.gcno *.gcov redis.info lcov-html (cd ../deps && make distclean) make[2]: 進入目錄“/usr/local/services/redis/redis-2.8.3/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (rm -f .make-*) make[2]: 離開目錄“/usr/local/services/redis/redis-2.8.3/deps” (rm -f .make-*) echo STD=-std=c99 -pedantic >> .make-settings echo WARN=-Wall >> .make-settings echo OPT=-O2 >> .make-settings echo MALLOC=jemalloc >> .make-settings echo CFLAGS= >> .make-settings echo LDFLAGS= >> .make-settings echo REDIS_CFLAGS= >> .make-settings echo REDIS_LDFLAGS= >> .make-settings echo PREV_FINAL_CFLAGS=-std=c99 -pedantic -Wall -O2 -g -ggdb -I../deps/hiredis -I../deps/linenoise -I../deps/lua/src -DUSE_JEMALLOC -I../deps/jemalloc/include >> .make-settings echo PREV_FINAL_LDFLAGS= -g -ggdb -rdynamic >> .make-settings (cd ../deps && make hiredis linenoise lua jemalloc) make[2]: 進入目錄“/usr/local/services/redis/redis-2.8.3/deps” (cd hiredis && make clean) > /dev/null || true (cd linenoise && make clean) > /dev/null || true (cd lua && make clean) > /dev/null || true (cd jemalloc && [ -f Makefile ] && make distclean) > /dev/null || true (rm -f .make-*) (echo "" > .make-cflags) (echo "" > .make-ldflags) MAKE hiredis cd hiredis && make static make[3]: 進入目錄“/usr/local/services/redis/redis-2.8.3/deps/hiredis” gcc -std=c99 -pedantic -c -O3 -fPIC -Wall -W -Wstrict-prototypes -Wwrite-strings -g -ggdb net.c make[3]: gcc:命令未找到make[3]: *** [net.o] 錯誤 127 make[3]: 離開目錄“/usr/local/services/redis/redis-2.8.3/deps/hiredis” make[2]: *** [hiredis] 錯誤 2 make[2]: 離開目錄“/usr/local/services/redis/redis-2.8.3/deps” make[1]: [persist-settings] 錯誤 2 (忽略) CC adlist.o /bin/sh: cc: 未找到命令 make[1]: *** [adlist.o] 錯誤 127 make[1]: 離開目錄“/usr/local/services/redis/redis-2.8.3/src” make: *** [all] 錯誤 2
提示:gcc 命令未找到
使用命令安裝一下就可以解決了:
yum install -y gcc g++ gcc-c++ make
解決了上面問題後,又出現如下問題:
[email protected] redis-2.8.3]# make cd src && make all make[1]: 進入目錄“/usr/local/services/redis/redis-2.8.3/src” CC adlist.o In file included from adlist.c:34:0: zmalloc.h:50:31: 致命錯誤:jemalloc/jemalloc.h:沒有那個檔案或目錄#include <jemalloc/jemalloc.h> ^ 編譯中斷。 make[1]: *** [adlist.o] 錯誤 1 make[1]: 離開目錄“/usr/local/services/redis/redis-2.8.3/src” make: *** [all] 錯誤 2
繼續填坑,解決方案,如下:
[[email protected] redis-2.8.3]# make MALLOC=libc
最後,終於把redis服務啟動起來了:
[[email protected] src]# ./redis-server
[4547] 22 Dec 13:28:14.636 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf
[4547] 22 Dec 13:28:14.637 * Max number of open files set to 10032
_._
_.-``__ ''-._
_.-`` `. `_. ''-._ Redis 2.8.3 (00000000/0) 64 bit
.-`` .-```. ```\/ _.,_ ''-._
( ' , .-` | `, ) Running in stand alone mode
|`-._`-...-` __...-.``-._|'` _.-'| Port: 6379
| `-._ `._ / _.-' | PID: 4547
`-._ `-._ `-./ _.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' | http://redis.io
`-._ `-._`-.__.-'_.-' _.-'
|`-._`-._ `-.__.-' _.-'_.-'|
| `-._`-._ _.-'_.-' |
`-._ `-._`-.__.-'_.-' _.-'
`-._ `-.__.-' _.-'
`-._ _.-'
`-.__.-'
[4547] 22 Dec 13:28:14.640 # Server started, Redis version 2.8.3
[4547] 22 Dec 13:28:14.640 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.
[4547] 22 Dec 13:28:14.640 * The server is now ready to accept connections on port 6379