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
Chloe
quelle
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.

MadHatter
quelle
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.

b1tH1de0
quelle
1
Vielen Dank. Ich hatte epel5 installiert, so ersetzt mit epel6 und geändert enabled=0in /etc/yum.repos.d/epel.repo.
Chloe