Wie installiere ich Git für CentOS?


7

Ich habe mehrere Vorschläge aus dieser Antwort ausprobiert , aber keiner von ihnen hat funktioniert.

[root@308321 sugar-dev]# yum install git
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.ubiquityservers.com
 * epel: www.gtlib.gatech.edu
 * extras: mirrors.usinternet.com
 * updates: mirrors.serveraxis.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: perl-Git = 1.8.2.1-1.el5 for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Git) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Error) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libssl.so.6()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libexpat.so.0()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libcrypto.so.6()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Running transaction check
---> Package compat-expat1.x86_64 0:1.95.8-8.el6 will be installed
---> Package git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.8.2.1-1.el5.x86_64
---> Package openssl098e.x86_64 0:0.9.8e-17.el6.centos.2 will be installed
---> Package perl-Error.noarch 1:0.17015-4.el6 will be installed
---> Package perl-Git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: perl-Git-1.8.2.1-1.el5.x86_64
---> Package perl-TermReadKey.x86_64 0:2.30-13.el6 will be installed
--> Finished Dependency Resolution
Error: Package: perl-Git-1.8.2.1-1.el5.x86_64 (epel)
           Requires: perl(:MODULE_COMPAT_5.8.8)
Error: Package: git-1.8.2.1-1.el5.x86_64 (epel)
           Requires: libcurl.so.3()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@308321 sugar-dev]# yum -y install git --disablerepo=updates
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.ubiquityservers.com
 * epel: www.gtlib.gatech.edu
 * extras: mirrors.usinternet.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: perl-Git = 1.8.2.1-1.el5 for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Git) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Error) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libssl.so.6()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libexpat.so.0()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libcrypto.so.6()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Running transaction check
---> Package compat-expat1.x86_64 0:1.95.8-8.el6 will be installed
---> Package git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.8.2.1-1.el5.x86_64
---> Package openssl098e.x86_64 0:0.9.8e-17.el6.centos.2 will be installed
---> Package perl-Error.noarch 1:0.17015-4.el6 will be installed
---> Package perl-Git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: perl-Git-1.8.2.1-1.el5.x86_64
---> Package perl-TermReadKey.x86_64 0:2.30-13.el6 will be installed
--> Finished Dependency Resolution
Error: Package: perl-Git-1.8.2.1-1.el5.x86_64 (epel)
           Requires: perl(:MODULE_COMPAT_5.8.8)
Error: Package: git-1.8.2.1-1.el5.x86_64 (epel)
           Requires: libcurl.so.3()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest
[root@308321 sugar-dev]# yum install git --disableexcludes=main --skip-broken
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirror.ubiquityservers.com
 * epel: www.gtlib.gatech.edu
 * extras: mirrors.usinternet.com
 * updates: mirrors.serveraxis.net
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: perl-Git = 1.8.2.1-1.el5 for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Term::ReadKey) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Git) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: perl(Error) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libssl.so.6()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libexpat.so.0()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Processing Dependency: libcrypto.so.6()(64bit) for package: git-1.8.2.1-1.el5.x86_64
--> Running transaction check
---> Package compat-expat1.x86_64 0:1.95.8-8.el6 will be installed
---> Package git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: libcurl.so.3()(64bit) for package: git-1.8.2.1-1.el5.x86_64
---> Package openssl098e.x86_64 0:0.9.8e-17.el6.centos.2 will be installed
---> Package perl-Error.noarch 1:0.17015-4.el6 will be installed
---> Package perl-Git.x86_64 0:1.8.2.1-1.el5 will be installed
--> Processing Dependency: perl(:MODULE_COMPAT_5.8.8) for package: perl-Git-1.8.2.1-1.el5.x86_64
---> Package perl-TermReadKey.x86_64 0:2.30-13.el6 will be installed
--> Finished Dependency Resolution

Packages skipped because of dependency problems:
    compat-expat1-1.95.8-8.el6.x86_64 from base
    git-1.8.2.1-1.el5.x86_64 from epel
    openssl098e-0.9.8e-17.el6.centos.2.x86_64 from base
    1:perl-Error-0.17015-4.el6.noarch from base
    perl-Git-1.8.2.1-1.el5.x86_64 from epel
    perl-TermReadKey-2.30-13.el6.x86_64 from base
[root@308321 sugar-dev]# git
-bash: git: command not found
[root@308321 sugar-dev]#


[root@308321 sugar-dev]# uname -a
Linux 308321.oliveyou.net 2.6.32-220.2.1.el6.x86_64 #1 SMP Fri Dec 23 02:21:33 CST 2011 x86_64 x86_64 x86_64 GNU/Linux

Welche Version von CentOS ist das? Und haben Sie überhaupt Software von Drittanbietern installiert?
— Michael Hampton

1
Listen Sie die Repositorys auf, die Sie ebenfalls verwenden.

Antworten:


20

Ihr Problem sind nicht zu wenige gitverfügbare Versionen , sondern zu viele. gitbefindet sich im Repo-Set Base / Updates, aber eine neuere Version befindet sich ebenfalls in Epel, und sie treten sich gegenseitig auf die Füße. Sie scheinen auch eine alte Version des Epel-Repo verkabelt zu haben (es holt .el5Pakete ab), und das wird definitiv nicht helfen.

Versuchen

yum install git --disablerepo=epel

was sollte man bekommen 1.7.1. Wenn dies funktioniert, möchten Sie möglicherweise auch Ihr Epel-Repo (es ist in /etc/yum.repos.d/epel.repo) reparieren und die Repository-Priorisierung untersuchen, um zu verhindern, dass neuere Versionen von Tools (normalerweise aus Add-On-Repos) auf ältere Versionen (aus Core-Repos) zurückgreifen, es sei denn Sie fordern sie ausdrücklich auf, dies zu tun.


Das Deaktivieren aller außer Basis-Repos hat in meinem Fall nicht funktioniert. In jedem Fall sollte der Benutzer nichts davon sehen. Die angezeigten Konfliktfehler sind nur als Feedback zur Fehlerbehebung durch Betriebssystementwickler nützlich.
— JosephK

Überhaupt nicht, sie sind für den Benutzer sehr nützlich, um zu verstehen, dass Konflikte bestehen. Der neueste Yum-Ersatz dnfzeigt diese Informationen nicht an (zumindest nicht für mich bei Fedora 22, und es wird keine Menge an Hinzufügung --bestdazu führen), und ich vermisse sie wirklich . Das heißt, es tut mir leid, dass Sie ein Problem haben; Es kann sich lohnen, eine Frage zu stellen, die auf diese verweist.
— MadHatter

5

Sie sollten auch den CentOS-Wiki-Artikel zu Repositorys lesen

http://wiki.centos.org/AdditionalResources/Repositories

Hier finden Sie einige Informationen zur Vervielfältigung von Inhalten.

Sie können auch mit Yum-Plugins experimentieren: Priorities oder ProtectBase .

Diese sollten bei der Verwaltung von Paketquellen von Drittanbietern hilfreich sein.


1
Vielen Dank. Ich hatte epel5 installiert, so ersetzt mit epel6 und geändert enabled=0in /etc/yum.repos.d/epel.repo.
— Chloe
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.