error while loading shared libraries: libhiredis.so.1.0.1-dev: cannot open shared object file: No such file or directory
1. 解决方法
确保你的/etc/ld.so.conf里面有 /usr/local/lib 这一行
没有的话vim编辑在尾行加上
然后 sudo ldconfig
2. ldconfig介绍
-
ldconfig是一个动态链接库管理命令,其目的为了让动态链接库为系统所共享。
-
当进程需要链接相应的库文件时候,会默认搜寻/lilb和/usr/lib,以及配置文件/etc/ld.so.conf内所列的目录下的库文件。若找不到的话,就会出现如上图的错误。
-
ldconfig通常在系统启动时运行,而当用户安装了一个新的动态链接库时,
就需要手工运行这个命令
。 -
ldconfig需要注意的地方:
-
往/lib和/usr/lib里面加东西,是不用修改/etc/ld.so.conf文件的,但是添加完后需要调用下ldconfig,不然添加的library会找不到。
-
如果添加的library不在/lib和/usr/lib里面的话,就一定要修改/etc/ld.so.conf文件,往该文件追加library所在的路径,然后也需要重新调用下ldconfig命令。比如在安装MySQL的时候,其库文件/usr/local/mysql/lib,就需要追加到/etc/ld.so.conf文件中。命令如下:
-
echo "/usr/local/mysql/lib" >> /etc/ld.so.conf ldconfig -v | grep mysql
最后注意:
如果添加的library不在/lib或/usr/lib下,但是却没有权限操作写/etc/ld.so.conf文件的话,这时就需要往export里写一个全局变量LD_LIBRARY_PATH,就可以了。
-