Làm cách nào để cài đặt git cho CentOS?


7

Tôi đã thử một vài gợi ý từ câu trả lời này nhưng không ai trong số họ làm việc.

[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

Phiên bản nào của CentOS là đây? Và bạn đã cài đặt bất kỳ phần mềm bên thứ ba nào chưa?
Michael Hampton

1
Liệt kê các kho lưu trữ bạn đang sử dụng quá.

Câu trả lời:


20

Vấn đề của bạn không phải là quá ít phiên bản gitcó sẵn, mà là quá nhiều; gitnằm trong bộ repo cơ sở / cập nhật, nhưng một phiên bản mới hơn cũng ở dạng epel và chúng đang giẫm lên chân nhau. Dường như bạn cũng có một phiên bản cũ của repo epel có dây (đó là chọn .el5gói) và điều đó chắc chắn sẽ không có ích.

Thử

yum install git --disablerepo=epel

Điều này sẽ giúp bạn có được 1.7.1. Nếu điều đó hoạt động, bạn cũng có thể muốn sửa chữa repo epel của mình (nó vào /etc/yum.repos.d/epel.repo) và xem xét ưu tiên kho lưu trữ, giúp ngăn các phiên bản công cụ mới hơn (thường là từ repos bổ sung) khỏi giẫm lên các phiên bản cũ hơn (từ repos cốt lõi) trừ khi bạn đặc biệt yêu cầu họ làm như vậy.


Vô hiệu hóa tất cả nhưng repos cơ sở đã không hoạt động, trong trường hợp của tôi. Trong mọi trường hợp, người dùng sẽ không bao giờ thấy bất kỳ điều này. Các lỗi xung đột được hiển thị chỉ hữu ích khi phản hồi sửa lỗi của nhà phát triển hệ điều hành.
JosephK

Hoàn toàn không, chúng rất hữu ích cho người dùng về mặt hiểu biết rằng xung đột tồn tại. Sự thay thế yum mới nhất dnf, không hiển thị thông tin này (ít nhất là đối với tôi, trên Fedora 22, và không có số lượng bổ sung nào --bestsẽ khiến nó làm như vậy), và tôi thực sự nhớ nó. Điều đó nói rằng, tôi xin lỗi rằng bạn đang có một vấn đề; nó có thể là giá trị đăng một câu hỏi, tham khảo câu hỏi này.
MadHatter

5

Bạn cũng nên kiểm tra bài viết wiki của CentOS về kho lưu trữ

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

nơi bạn sẽ tìm thấy một số thông tin về sao chép nội dung.

Bạn cũng có thể thử nghiệm với các plugin Yum: ưu tiên hoặc ProtectBase .

Những người sẽ giúp trong việc quản lý các nguồn gói bên thứ 3.


1
Cảm ơn. Tôi đã cài đặt epel5, vì vậy thay thế bằng epel6 và thay đổi enabled=0trong /etc/yum.repos.d/epel.repo.
Chloe
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.