“Temel” ve “yapı” nedir?


61

Ruby 1.9.1'i Xubuntu 10.04'e nasıl kuracağımı araştırıyorum ve build-essential ve build-dep komutlarına defalarca rastladım . Bazen paketleri takip eder, bazen de hem paketlerden önce hem de önce gelir.

Baktığım 2 örnek:

sudo apt-get install-temel zlib1g yüklemek zlib1g-dev zlibc libruby1.9 libxml2 libxml2-dev libxslt-dev

sudo apt-get build-dep yakut1.9

ve

sudo apt-get yüklemek ruby ​​irb ri rdoc ruby1.8-dev libzlib-ruby libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby libruby libruby-ruby libdbd-sqlite3-yakut sqlite3 libsqlite3-dev libsqlite3-yakut libxml-yakut libxml2-dev


3
Bunun bir komut olmadığını ama Debian paket sisteminde (APT) bir paket olduğunu unutmayın. Paketi GUI araçlarını kullanarak da alabilirsiniz.

Teşekkürler. Bununla birlikte Ruby ile nasıl bir ilişkisi var? Ruby'nin çalışması için ihtiyacı olduğunu varsayıyorum ama belki de yanılıyorum.
Sınıf

Yanıtlar:


48

Build-essentials paketi, bir Debian paketini derlemek için gereken tüm paketler için bir referanstır. Genellikle GCC / g ++ derleyicileri ve kütüphaneleri ve diğer bazı yardımcı programları içerir. Belgeleri kontrol edin: İşte!


2
Tamam ama bu hala sorumu tam olarak cevaplamıyor. 'Build-essential' öğesinin Debian paketleri oluşturmak için gerekli olan bilgi paketlerinin bir listesini içerdiğini biliyorum. Ancak ne bir Debian paketi olarak kabul edilir? Yakut? gcc / g ++ derleyicileri? Ve Debian paketleri ve 'build-essential' Ruby ile nasıl ilişkilidir? Ruby, Debian paketinin üstüne inşa edilmiş mi? Tüm bu parçalar arasındaki ilişkiler
Sınıf

3
Basitçe söylemek gerekirse, (veya kurmak istediğiniz başka bir pakette) bir C / C ++ derleyicisine ihtiyacınız varsa, build-essential yüklemeniz gerekir. Genellikle yeni bir Ubuntu kurulumunda kurduğum ilk şey :-)

4
@Adam Ruby bir çeviri dili olduğu için, tercümanın makinenizde çalışabilmesi için C veya C ++ derleyicisine ihtiyacı var. build-essentialbir metapakttır (g ++ ve gcc: GNU C & C ++ derleyicileri gibi birçok paketi yükleyen bir paket). Herhangi bir kaynaktan bir derleme yapmak istiyorsanız ve neredeyse her programlama dili ile çalışmak istiyorsanız bu gereklidir. HTH!
squircle

5
Bu cevap yanlış. Aşağıdaki cevap doğru cevap. build-depapt-get komutu ve build-essentialbir pakettir.
David,

2
Bu doğru cevap değil. Sağlanan bağlantı, yerleşik paketin içinde ne olduğuna dair bir fikir vermez veya açıklamada bulunmaz.
veDevW,

50

Komut sudo apt-get build-dep packagename, "root olarak, 'packagename' için tüm bağımlılıkları kuralım, böylece kurabilirim '' anlamına geliyor. Bu yüzden build-dep, install, remove, update, vb. Gibi apt-get komutudur.

build-essential Genel olarak yazılım oluşturmak için gereken çok sayıda pakete referans içeren bir pakettir.


1
'Build-dep' komutunu açıkladığınız için teşekkür ederiz. Anladığım kadarıyla, bu durumda Ruby1.9, Linux’un “Yapılacaklar / Yapım Listesi” olarak göründüğü ve buna bağlı olarak her birini tek tek oluşturan bir bağımlılık listesine sahiptir. İnşa edilen son altyapı Ruby1.9'un düzgün çalışmasını sağlar. Anlamadığım şey neden 'build-essential' (ya da en üst satırdaki diğer tüm paketlerin (zlib1g zlib1g-dev zlibc libruby1.9 vs.)) 'Yapılacak / Yapılsın Listesi'ne dahil edilmemesidir. Ruby1.9'a eklenmiş. Sadece bir komut olsa daha kolay olmaz mıydı?
Sınıf

4

"build-essential" kaynağından derleme / oluşturma yazılımı için araçlar (gcc derleyicisi gibi, araç oluşturma, vb.) içerir. Böylece (genellikle C) kaynak dosyalarıyla başlar ve onlardan çalıştırılabilir dosyalar yaratırsınız.

Sadece Ruby'yi kurmaya çalışıyorsanız, sadece RVM (Ruby Sürüm Yöneticisi) kullanmanızı şiddetle tavsiye ederim :

"Github Deposu (önerilir)" altındaki talimatları izleyin

İlk önce Git sürüm kontrol yazılımına ihtiyacınız olacağını unutmayın. apt-get install git-coreHenüz sahip değilseniz kullanın .


4

build-essentialBir büyülü özelliğe sahiptir: https://www.debian.org/doc/debian-policy/ch-source.html# adresinde belirtilen kaynak paketlerin Build-Dependskontrol alanı ( debian-packages) altında bir yapı bağımlılığı olarak listelenmesi gerekmez. s-pkg-ilişkileri

Derleme paketlerinin listesini aşağıdaki adreste bulabilirsiniz:

cat /usr/share/doc/build-essential/list

Bir paketin bir parçası olup olmadığını da belirleyebilirsiniz build-essential:

apt-get show gcc

ki diyor ki:

Build-Essential: yes
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.