重写百胜依赖检查时存在依赖软件的新版本
-
20-08-2019 - |
题
我在CentOS 5.1使用荫 - I手编译从源PHP 5.2.8,但是具有使用荫安装其他包。我需要安装通过PECL PHP扩展,它需要phpize被安装为好。但是,这样做以下产生一个依赖错误:
须藤荫安装PHP-devel的
错误:缺少相关性:PHP =由包PHP-devel的需要5.1.6-20.el5_2.1
由于我其实已经安装了PHP的一个较新的版本,我怎么能强迫yum来坐视不理?我需要从源头上手工编译PECL / phpize?我承认以前从未有过的问题,它只是似乎是因为编译的组合和yum的安装。
任何想法?
谢谢, 凯尔
解决方案
作为一个经验法则,最好是有一个包管理系统,所以你会好起来的包装RPMS一切,并通过yum管理它。它将为您节省大量的时间,从长远来看。
如果你绝对想拥有由一手货源的东西(FE PHP)的编译器,用垫木/检查安装/ ...或任何其他解决办法,使你做源编译的东西,基本的包管理。
Regerding你的问题,你可以尝试重写依赖通过下载所需的软件包的做“转-i --force file.rpm”的RPM检查,因为yum不会有任何选项强制安装
其他提示
在一般:
如果你建立它自己,它进入/usr/local
,并且只有在/usr/local
其他东西访问。
如果你从RPM /百胜安装,它进入/usr
,并访问/usr
和/usr/local
。
所以,如果你想用家里编译PHP安装PHP工具,它们安装到/usr/local
还有:通常情况下,用GNU型软件,会是这样的:
./configure --prefix=/usr/local && make && sudo make install
或
make prefix=/usr/local all && sudo make prefix=/usr/local install
...虽然的最的软件应该默认为/usr/local
除非你重写它的前缀设置。
如果你想要的是基于RPM的,以“手工打造”套餐,您可以使用
yumdownloader --source WHATEVER-PACKAGE
rpm -i WHATEVER-PACKAGE.rpm
rpmbuild -bp ~/rpm/SPECS/WHATEVER-PACKAGE.spec
(您的路径相当于~/rpm
可能会发生变化; rpmbuild --showrc
将告诉你在哪里)
此下载.src.rpm
包,其中包含上游(原作者的)源(通常是压缩包),以及特定于操作系统的补丁;安装来源为~/rpm
(或您的rpmbuild前缀);然后解包的源极和补丁应用到~/rpm/BUILD/WHATEVER-PACKAGE/
从那里,你可以做配置/让自己的步骤,与/usr/local
前缀
当然,从RPM的只是安装要容易得多: - )