在我使用centos7安装很多高版本软件时,他会提醒依赖包版本过低,而yum源又找不到高版本的依赖。
这时候往往只能去选择去下载一个官方编译好的或下载源码自己编译。这里以我安装php8时遇到的问题为例:
首先是libzip版本过低
因为yum源的依赖比较旧,下载libzip
cd /opt
wget https://libzip.org/download/libzip-1.8.0.tar.gz
tar -zxvf libzip-1.8.0.tar.gz
mv libzip-1.8.0 libzip
mv libzip /usr/local/src/
然后发现编译安装libzip需要cmake,然而yum安装的cmake版本又太低
下载cmake源码:
cd /opt
wget https://cmake.org/files/LatestRelease/cmake-3.21.0-linux-x86_64.tar.gz
这个版本的cmake不需要编译,解压完配置一下环境变量就可以使用:
tar -zxvf cmake-3.21.0-linux-x86_64.tar.gz
mv cmake-3.21.0-linux-x86_64 cmake
mv cmake /usr/local/src/
在 /etc/profile环境变量中加入执行文件路径
source /etc/profile
然后开始安装libzip并配置环境变量
cd /usr/local/src/libzip
mkdir bulid
cd build
cmake ..
make
make install
echo 'export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig:$PKG_CONFIG_PATH' > /etc/profile.d/libzip.sh #这里需要提前找到pkgconfig的路径
source /etc/profile
然后又发现yum源压根没有oniguruma包
cd /opt
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-6.8.2-1.el7.x86_64.rpm
rpm -ivh oniguruma-6.8.2-1.el7.x86_64.rpm
wget https://download-ib01.fedoraproject.org/pub/epel/7/x86_64/Packages/o/oniguruma-devel-6.8.2-1.el7.x86_64.rpm
rpm -ivh oniguruma-devel-6.8.2-1.el7.x86_64.rpm
然后其余依赖,yum安装即可。