Pakiet: git-1.7.6.1-1.el5.rf.i386 (rpmforge) Wymaga: libcurl.so.3

9

Po biegu yum install git

pokazuje błąd

Error: Package: git-1.7.6.1-1.el5.rf.i386 (rpmforge)
       Requires: libcurl.so.3
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

Czy muszę zainstalować libcurl.so.3 lub pobrać git z sieci i zainstalować?

Braiam
źródło

Odpowiedzi:

7

Problem polega na tym, że próbujesz zainstalować wersję el5git (git-1.7.6.1-1. El5 .rf.i386). Miałem ten sam problem, jak tutaj opisany .

Naprawiłem to, włączając dodatki rpmforge, a on pobierał el6 z git (wtedy mógł po prostu yum zainstalować)

Jestem pewien, że jest to problem z domyślnymi repozytoriami centos, to znaczy, że powinien on domyślnie instalować el6?

James Dunmore
źródło
Włączyłem go, również nie wiem, ale nadal wskazuje na el5. Plz help
Avisek Chakraborty,
ok. Odpowiedź Norrada zadziałała
Avisek Chakraborty,
Dla mnie było to połączenie tego i odpowiedzi Norrada. Po zainstalowaniu wersji el6 musiałem uruchomić polecenie „wyczyść wszystko”, ponieważ yum nadal czytał stare dane repozytorium w pamięci podręcznej.
Juan
5

Miałem ten sam problem w CentOS 6.3. Bieganie yum provides gitdało mi dwie możliwości:

 git-1.7.1-2.el6_0.1.x86_64 : Fast Version Control System
 git-1.7.4.1-1.el5.x86_64 : Fast Version Control System

Zrobiłem więc yum install git-1.7.1-2.el6_0.1.x86_64i zainstalowałem wersję .el6 gitwraz z perl-Errori perl-Git, i nie powoduje żadnych błędów i ŻADNYCH brakujących libcurl.so.3plików!

Norrad
źródło
też dla mnie pracował. Thanx
Avisek Chakraborty,
4

Nie sądzę, aby instalacja curlpakietu była instalowana libcurl.so.3. curlPakiet zawiera curlprogram i związane z nim pliki, a nie w bibliotece.

W przypadku Centos potrzebny pakiet prawdopodobnie nazywa się coś w rodzaju curl-devel.

Jestem zaskoczony, yumże nie zaoferowałem zainstalowania zależności. W CentOS 5.6 yumstrona podręcznika mówi: yum install„Służy do instalowania najnowszej wersji pakietu lub grupy pakietów, zapewniając jednocześnie spełnienie wszystkich zależności”. Przypuszczam, że możliwe jest, że zależności nie są poprawnie skonfigurowane, ale wydaje się to mało prawdopodobne w przypadku czegoś tak popularnego jak git.

Spróbuj, yum install curl-devela następnie yum install git.

Keith Thompson
źródło
Zgadzam się, z wyjątkiem tego, że nie znalazłem bardzo niedawnych rpm curl-devel dla CentOS6. +1
VonC
1

próbowałem

$ yum install git-all.noarch który nie zależy od architektury.

Andres
źródło
Działa dla mnie na moim serwerze klienckim
Donny Kurnia
1

Najpierw, w katalogu głównym, /etc/yum.confedytuj plik i komentuj linię wykluczającą wiodącym ;tj. ;exclude(Używam WinSCP na http://winscp.net, aby się zalogować, ponieważ ma on wbudowany zmodyfikowany edytor notatników wraz z PuTTY dla dostępu SSH).

Po przeczytaniu powyższej informacji o instalacji curl-develnie działało to dla mnie. Ale yum reinstall curl-develdziałało. Potem poszedłem za tym yum install giti kontynuowałem instalację git i 2 dodatkowych potrzebnych plików.

Brian Hartwig
źródło
0

Powinieneś zainstalować kędzior, ponieważ jest wymieniony jako bezpośrednia zależność dla git (obok openssl-1.0.0d, libssh2, libiconv, libintl, libidn, expat i zlib)

Upewnij się, że jest to curl 7.21.7, ponieważ poprzedni został uszkodzony dla jakiegokolwiek dostępu ssh.

Jak wspomina Keith (+1), potrzebujesz curl-devel . Istnieje tylko pakiet libcurl-devel-7.19.7-16.el6.i686.rpm, który może być wystarczająco stary, aby ssh mógł nadal działać.

VonC
źródło
Zainstalowałem już crul, ale nadal wyświetla błąd
0

libcurl.so.3 pochodzi z paczki curl.

rpm -qf libcurl.so.3.0.0
curl-7.15.5-9.el5_6.2

W moim systemie utworzyłem dowiązanie symboliczne /usr/lib64.

libcurl.so.3 -> libcurl.so.4.1.1
krisdigitx
źródło
Wygląda na to, że miał to być komentarz do odpowiedzi Keitha Thompsona.
bahamat
0

Git jest zawarty w podstawowym repozytorium EL6; nie jest konieczne instalowanie innego repozytorium, aby uzyskać do niego dostęp.

W przypadku pierwotnego pytania wygląda na to, że próbujesz użyć repozytorium rpmforge dla EL5 w systemie EL6. Najlepiej jest tutaj naprawić lub usunąć repozytorium /etc/yum.repos.d.

Michael Hampton
źródło
0

Od https://forum.linode.com/viewtopic.php?t=8777

Wydaje się, że zmiana el5 na el6 jest wystarczająca.

su root
cd /etc/yum.repos.d
for FILE in *; do mv $FILE $FILE.old; sed 's/el5/el6/g' $FILE.old > $FILE; done
yum clean all

Naprawiłem to dla mnie.

SPRBRN
źródło