Không thể cài đặt bản dựng cần thiết trên CentOS


68

Khi tôi chạy lệnh:

sudo apt-get install build-essential

Tôi nhận được thông báo lỗi sau:

Reading Package Lists... Done
Building Dependency Tree... Done
E: Couldn't find package build-essential

1
Bản phân phối nào (Ubuntu? Debian?) Và phiên bản? Repo gì?

2
Bạn có đang chạy kernel Red Hat trên bản phân phối Debian hoặc Ubuntu không? Hay bạn đang thực sự chạy một bản phân phối Red Hat? Nếu bạn đang chạy phân phối Red Hat, thì bạn nên sử dụng yumhoặc up2date(tùy theo điều kiện nào phù hợp với phiên bản phân phối của bạn).
sarnold

1
Cảm ơn vì tất cả sự giúp đỡ của mọi người! Tìm hiểu cách cài đặt bản dựng cần thiết cho CentOS đã chỉ cho tôi đi đúng hướng.
Chen Waley

1
Đây là cmd: sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel
Waley Chen

1
đừng quên thêm nó như một câu trả lờichấp nhận nó một khi phần mềm stack cho phép bạn làm điều đó. :)
đăng

Câu trả lời:


111

Tôi tin rằng điều này vẫn nên làm việc.

sudo yum groupinstall 'Development Tools'

5
điều này sẽ cài đặt mọi công cụ phát triển duy nhất có sẵn, chỉ cần FYI
user2720864

3
Xem yum group info "Development Tools"để biết danh sách các gói được cài đặt
user12345

1
Đó là một chặng đường dài của tất cả các công cụ phát triển, trong trường hợp bạn lo lắng. Đây chủ yếu là những điều cơ bản cho c / c ++ với automake, autoconf, v.v.
Barry Kelly

1
Nhưng nếu bạn chỉ cần cấu hình / make / make install để hoạt động thì có thể vẫn còn quá nhiều (ví dụ: nó bao gồm git và subversion). Tốt hơn là bắt đầu với cài đặt yum của Ketan Patel và nếu vẫn còn thiếu một cái gì đó thì hãy tìm cái này
ndemou

nó phụ thuộc vào "ngôn ngữ lập trình" cần thiết, nhưng nếu bạn muốn biên dịch c ++, bạn sẽ cần trong PLUS glibc-develvà có thể make... các nhóm yum thật là tồi tệ!
Sandburg

43
yum install gcc gcc-c++ make 

Điều này hoạt động tương đương với build-essentialtrong CentOS.


2
openssl-develcó thể ngẫu nhiên kéo theo những thứ bạn muốn, nhưng build-essentialbản thân nó không đúng .
tripleee

4

Siêu dữ liệu build-essentialđược cung cấp trên Debian để thu thập tất cả các công cụ xây dựng cần thiết thường được yêu cầu trong chuỗi xây dựng Debian, bao gồm cả các công cụ bạn cần để tạo .debcác gói. Centos sử dụng một trình quản lý gói khác nhau hoàn toàn và không trực tiếp cung cấp bất cứ thứ gì như thế này; bạn sẽ cần cài đặt thủ công các thành phần riêng lẻ của chuỗi công cụ ( gcc, makethư viện phát triển chung, tài liệu, v.v., cũng như các công cụ để tạo các gói RPM nếu bạn muốn làm điều đó).

Nếu bạn thả .debhoặc thứ RPM, gcc, gcc-c++, glibc-devel, và makesẽ nhận được các gói Centos tương ứng hiện.


Theo nhận xét cũ của @ PabloCastellazzi, bạn có thể nhận được chuỗi công cụ RPM với gói rpm-build. Tên tiện ích thực tế là rpmbuild. Để biết thêm thông tin, hãy xem, ví dụ wiki.centos.org/HowTos/setupRpmBuildEn Môi trường
tripleee

1

Tôi đã kết hợp giải pháp được chấp nhận từ Scott Likens với nhận xét từ user12345 và lần đầu tiên xem xét những gì trong nhóm "Công cụ phát triển" trước khi cài đặt.

Như user12345 đã chỉ ra, bạn có thể làm điều này với:

$ yum group info "Development Tools"

Tôi muốn cài đặt các gói như autoconfautomakebinutils, nhưng tôi không cần doxygenhay anthay mercurial.

Dưới đây là danh sách tôi đã sử dụng, cùng với sự phụ thuộc của họ, nhưng tất nhiên, số dặm của bạn có thể thay đổi, tùy thuộc vào nhu cầu của BẠN.

$ yum install \
    autoconf automake binutils \
    bison flex gcc gcc-c++ gettext \
    libtool make patch pkgconfig \
    redhat-rpm-config rpm-build rpm-sign \
    ctags elfutils indent patchutils 

0
sudo yum install -y libxml2 libxml2-devel libxslt libxslt-devel

Điều này có vẻ nhiều tác dụng phụ như @ pablo-castellazzi đã đề cập trong các bình luận trong phần câu hỏi của bạn. Imo trả lời tốt hơn là bởi KK Patel hoặc Scott
Likens

2
Lệnh bạn gửi yêu cầu cài đặt thư viện phát triển xml và xslt. Là một tác dụng phụ, nó sẽ cài đặt gcc, một công cụ xây dựng thiết yếu.
ndemou
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.