Không thể cài đặt GIT trên CentOS 6.0 x64


12

Tôi đang cố gắng cài đặt GIT bằng RPM hoặc YUM nhưng tôi không thể. Tôi nhận được lỗi sau đây:

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

Khi chạy 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

Danh sách Repo:

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

Máy chủ đang chạy WHM / cPanel mới nhất.

Làm thế nào để khắc phục điều đó?


Bạn đã thử cài đặt các thư viện và gói bị thiếu?
dkaragasidis

1
Nếu anh ta cài đặt qua yum, nó sẽ giải quyết các phụ thuộc. @Tom, bạn có thể thực hiện một lệnh "yum repolist" và dán vào câu hỏi của bạn không?
Rilindo

Câu trả lời:


17

Như bạn có thể thấy từ bài đăng này trong các diễn đàn cPanel, cPanel / WHM chọn cài đặt phiên bản Perl của riêng mình từ nguồn để nó liệt kê các gói perl * có thể được kéo bởi yum trong /etc/yum.conf.

Giải pháp là tạm thời bỏ qua chỉ thị loại trừ trong khi yum sắp xếp các phụ thuộc cho Git:

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

người bạn đời làm việc +1 thnx
Sergey Benner

3

Có vẻ như trong khi bạn cài đặt git lần đầu tiên, nó được lấy từ bản cập nhật repo trước - có git-1.7.1-2.el6_0.1.x86_64.rpm (trái ngược với git-1.7.1-2 .el6.x86_64.rpm).

Có hai lựa chọn để tiếp cận điều này:

Cài đặt git từ cơ sở và tạm thời tắt repo cập nhật với:

yum -y install git --disablerepo=updates

hoặc là

Áp dụng hầu hết các bản cập nhật hiện tại với:

yum -y upgrade

Và sau đó chạy lại cài đặt git, để bạn có thể đáp ứng các phụ thuộc hiện tại của mình với phiên bản cập nhật của git.

Tôi đề nghị cách tiếp cận trước đây, vì bạn không muốn áp dụng các bản cập nhật nếu bạn không có kế hoạch hồi quy.

EDIT: Được rồi, vì dường như không thể giải quyết các phụ thuộc hoặc nó sẽ chuyển đến một repo có các bản cập nhật đó, hãy tải xuống RPM từ các vị trí này:

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

và sau đó cài đặt qua yum với:

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

và thử cài đặt lại git. Nếu cần, hãy tải xuống git chính nó và cài đặt với:

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

Không hoạt động, Vẫn yêu cầu perl-git và perl-error
Tom

Được rồi, phản hồi cập nhật với tùy chọn thứ ba.
Rilindo

Đã cài đặt git-Error, nhưng không thể cài đặt perl-Git, Nó nói: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

Được rồi, tải xuống gtlib.gatech.edu/pub/centos/6.0/updates/x86_64/RPMS/ và sau đó, hãy cài đặt cục bộ .el6_0.1.noarch.rpm
Rilindo

2

Nhóm lỗi đầu tiên bạn đăng cho biết rằng bạn đang cố gắng cài đặt phiên bản git 32 nhưng. Đây là một hệ thống 64 bit.

Bạn đã chạy yum install gitchưa Nó nên đã giải quyết chuỗi phụ thuộc của bạn. Làm sạch bộ nhớ cache yum của bạn với yum clean all.

Nếu không, bạn sẽ cần cài đặt các phụ thuộc sau ...

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

Hãy thử cài đặt gitthông qua yum install gitđó.


Nó không tìm thấy perl-Githoặcperl-Error
Tom

Được rồi, loại bỏ hai gói perl và cố gắng cài đặt gitmột mình.
ewwhite

Tôi đã cập nhật bài viết với những gì tôi nhận được.
Tom

1
Có thể thử một lần yum clean allrồi chạy yum install git.
ewwhite

1

Chỉ cần tải về và biên dịch từ nguồn.

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
Bah, chúng tôi có quản lý gói vì một lý do và bạn chỉ nên rời khỏi quản lý gói nếu bạn có lý do rất chính đáng. "Yum" không hoạt động chính xác chỉ ra một vấn đề cần khắc phục, không được bỏ qua.
cjc

Tôi là tất cả để biên dịch nội dung từ nguồn khi có lý do chính đáng , nhưng trong trường hợp này đó sẽ là một hack (xấu), không phải là một sửa chữa thích hợp.
voretaq7

@ Tất cả: Đối với phiên bản 1.7, tôi không gặp vấn đề gì khi cài đặt / cập nhật lên phiên bản mới nhất nhưng không thể nâng cấp lên 1.8.x; Sau đó, tôi sử dụng phương pháp này để cài đặt nó với thành công (thậm chí như bạn tôi không thích để cài đặt mà không cần quản lý gói)
рüффп

1

Có vẻ như kho lưu trữ của bạn đang thiếu một số gói bổ sung cần thiết để cài đặt GIT. Thông thường, tôi cũng cài đặt gói bổ sung cho kho lưu trữ Linux dành cho doanh nghiệp và điều đó đã khắc phục rất nhiều vấn đề của tôi.

Nó có thể được tìm thấy ở đây:

RHEL5 hoặc RHEL6

Cài đặt Repo của RHEL6 và bạn sẽ có quyền truy cập vào các gói bổ sung mà bạn đang cần.

Tốt nhất nếu may mắn


GIT được bao gồm trong các bản phân phối CentOS cơ sở, vì vậy điều này không hoàn toàn chính xác.
Rilindo
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.