redis-cli没有在linux上工作

时间:2014-03-29 11:05:22

标签: redis

我已经安装了redis onn linux。 redis sever正确启动但是当我尝试启动redis-cli时出现此错误

bash:redis-cli:找不到命令

文件redis-cli输出

ELF 64位LSB可执行文件,x86-64,版本1(SYSV),动态链接(使用共享库),用于GNU / Linux 2.6.18,BuildID [sha1] = 0x5fe1c6d3da13df88f2ea826ac762f088c29b81d5,未剥离

4 个答案:

答案 0 :(得分:8)

我不知道是什么原因 但是当我运行使用此命令时

/ usr / local / bin / redis-cli工作

但是当我从/ usr / local / bin /文件夹运行redis-cli时出现错误

bash:redis-cli:找不到命令

看起来有些路径问题

答案 1 :(得分: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的问题与动态链接无关,这是一个简单的PATH问题。出于历史目的,我将答案保留原样。

答案 2 :(得分:1)

如果您是从源构建的,并且您位于包含源的默认>>> l2 = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> l1 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'] >>> l2 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> l2[5:9] = l1[5:9] >>> l2 [0, 1, 2, 3, 4, 'F', 'G', 'H', 'I', 9, 10] 目录中,则应该能够通过运行来启动cli:

typedef void (*option_fun_t)(Vector<WindLog> &VecObj); option_fun_t option_fun[] = {option1, option2, option3, option4}; choice = getUserChoice(); option_fun[choice-1](VecObj);

答案 3 :(得分:0)

这可能是因为可执行文件不在路径中。为了解决这个问题,您可以尝试使用以下命令复制 redis-cli 文件夹中的 /usr/local/bin/

sudo cp /src/redis-cli /usr/local/bin/