无法在CentOS 6.0 x64上安装GIT


12

我正在尝试通过RPM或YUM安装GIT,但我不能。我收到以下错误:

error: Failed dependencies:
        libcrypto.so.10 is needed by git-1.7.1-2.el6.i686
        libcurl.so.4 is needed by git-1.7.1-2.el6.i686
        libexpat.so.1 is needed by git-1.7.1-2.el6.i686
        libssl.so.10 is needed by git-1.7.1-2.el6.i686
        libz.so.1 is needed by git-1.7.1-2.el6.i686
        perl(Error) is needed by git-1.7.1-2.el6.i686
        perl(Git) is needed by git-1.7.1-2.el6.i686
        perl-Git = 1.7.1-2.el6 is needed by git-1.7.1-2.el6.i686

运行时yum install git

root@server [/usr/local/src]# yum install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.symnds.com
 * extras: mirror.atlanticmetro.net
 * updates: mirror.trouble-free.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.7.1-2.el6_0.1 set to be updated
--> Processing Dependency: perl-Git = 1.7.1-2.el6_0.1 for package: git-1.7.1-2.el6_0.1.x86_64
--> Processing Dependency: perl(Git) for package: git-1.7.1-2.el6_0.1.x86_64
--> Processing Dependency: perl(Error) for package: git-1.7.1-2.el6_0.1.x86_64
--> Finished Dependency Resolution
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl(Error)
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl-Git = 1.7.1-2.el6_0.1
Error: Package: git-1.7.1-2.el6_0.1.x86_64 (updates)
           Requires: perl(Git)
 You could try using --skip-broken to work around the problem
bandmin-1.6.1-5.noarch has missing requires of perl(bandmin.conf)
bandmin-1.6.1-5.noarch has missing requires of perl(bmversion.pl)
bandmin-1.6.1-5.noarch has missing requires of perl(services.conf)
exim-4.69-30_cpanel_maildir.x86_64 has missing requires of perl(SafeFile)
frontpage-2002-SR1.2.i386 has missing requires of libexpat.so.0

回购清单:

repo id                       repo name                                status
base                          CentOS-6 - Base                          5,664+355
extras                        CentOS-6 - Extras                                1
updates                       CentOS-6 - Updates                          991+51
repolist: 6,656

服务器正在运行最新的WHM / cPanel。

如何解决?


您是否尝试安装缺少的库和软件包?
dkaragasidis

1
如果他通过yum安装,则应该已经解决了依赖性。@Tom,可以执行命令“ yum repolist”并粘贴您的问题吗?
Rilindo

Answers:


17

如您在cPanel论坛上的这篇文章中所见,cPanel / WHM选择从源代码安装其自己的Perl版本,以便将可能由yum插入/etc/yum.conf中的perl *软件包列入黑名单。

解决方案是在yum整理出Git的依赖项时暂时忽略excludes指令:

yum install git --disableexcludes=main --skip-broken

工作伙伴+1 thnx
Sergey Benner

3

看起来像是第一次安装git时,它首先是从更新存储库中拉出的-它具有git-1.7.1-2.el6_0.1.x86_64.rpm(与git-1.7.1-2相反) .el6.x86_64.rpm)。

有两种方法可以解决此问题:

从基础安装git并使用以下命令暂时禁用更新存储库:

yum -y install git --disablerepo=updates

要么

应用以下大多数当前更新:

yum -y upgrade

然后再次运行git install,以便您可以使用git的更新版本来满足当前的依赖关系。

我建议采用前一种方法,因为如果您没有回归计划,则不想应用更新。

编辑:好的,因为它似乎无法解决依赖关系,或者它要转到具有这些更新rpm的存储库,请从以下位置下载RPM:

http://www.gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/perl-Git-1.7.1-2.el6_0.1.noarch.rpm

http://www.gtlib.gatech.edu/pub/centos/6.0/os/x86_64/Packages/perl-Error-0.17015-4.el6.noarch.rpm

然后使用以下命令通过yum安装:

yum localinstall perl-Error-0.17015-4.el6.noarch.rpm perl-Git-1.7.1-2.el6_0.1.noarch.rpm

然后尝试再次安装git。如有必要,请下载git本身并安装:

yum localinstall perl-Error-0.17015-4.el6.noarch.rpm perl-Git-1.7.1-2.el6_0.1.noarch.rpm git-1.7.1-2.el6_0.1.x86_64.rpm

两者均无效,仍然需要perl-git和perl-error
Tom

好的,使用第三个选项更新了响应。
Rilindo 2011年

安装了git-Error,但无法安装perl-Git,它说:error: Failed dependencies: git = 1.7.1-2.el6_0.1 is needed by perl-Git-1.7.1-2.el6_0.1.noarch
Tom

好的,下载gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS / ...,然后执行yum localinstall git-1.7.1-2.el6_0.1.x86_64.rpm perl-Git-1.7.1-2 .el6_0.1.noarch.rpm
Rilindo 2011年

2

您发布的第一组错误表明您正在尝试rpm安装32-但版本的git。不过,这是一个64位系统。

你跑了yum install git吗?它应该已经解决了您的依赖链。使用清理您的yum缓存yum clean all

如果否,则需要安装以下依赖项...

yum install openssl libcurl expat zlib perl-Git perl-Error

尝试git通过yum install git以下步骤进行安装。


它确实找到perl-Gitperl-Error
Tom

好的,删除两个perl软件包并尝试git单独安装。
ewwhite 2011年

我已经用我得到的信息更新了帖子。
汤姆(Tom)

1
也许尝试一下yum clean all然后运行yum install git
ewwhite 2011年

1

只需从源代码下载并编译即可。

mkdir /home/sources
cd /home/sources
wget http://git-core.googlecode.com/files/git-1.7.8.4.tar.gz
tar -zxf git-1.7.8.4.tar.gz
cd git-1.7.8.4
./configure
make
make install

6
ah,我们之所以有包裹管理是有原因的,只有在有充分理由的情况下,才应该退出包裹管理。“ yum”无法正常工作表示需要解决的问题,不能忽略。
cjc 2012年

当有充分的理由时,我全力以赴从源头进行编译,但是在这种情况下,这将是(糟糕的)hack,而不是适当的修复方法。
voretaq7 2012年

@All:对于1.7版,我没有问题可以安装/更新到最新版本,但无法升级到1.8.x;然后,我用这个方法成功安装它(即使是像你我不喜欢没有安装包管理器)
рüффп

1

您的存储库似乎缺少安装GIT所需的一些其他软件包。通常,我也会安装Enterprise Linux资源库的Extra Packages,这可以解决很多问题。

在这里能找到它:

RHEL5RHEL6

安装RHEL6 Repo,您​​应该可以访问所需的其他软件包。

如果运气最好


GIT包含在基本CentOS发行版中,因此这并不完全准确。
Rilindo 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.