什么是“基本构建”和“构建深度”?


64

我正在研究如何在Xubuntu 10.04中安装Ruby 1.9.1,我多次遇到了build-essentialbuild-dep命令。有时,它后面是软件包,有时,它在软件包之前和之后。

我正在查看的两个示例是:

sudo apt-get install build-essential zlib1g zlib1g-dev zlibc libruby1.9 libxml2 libxml2-dev libxslt-dev

须藤apt-get build-dep ruby​​1.9

sudo apt-get install ruby​​ irb ri rdoc ruby​​1.8-dev libzlib-ruby libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby libruby libruby-extras libfcgi-ruby1.8 build-essential libopenssl-ruby libdbm-ruby libdbi-ruby libdbd-sqlite3-ruby sqlite3 libsqlite3-dev libsqlite3-ruby libxml-ruby libxml2-dev


3
请注意,这不是命令,而是Debian软件包系统(APT)中的软件包。您也可以使用GUI工具获取软件包。

谢谢。但是它与Ruby有何关系?我认为Ruby需要运行它,但是也许我错了。
分级员

Answers:


49

build-essentials软件包是编译Debian软件包所需的所有软件包的参考。它通常包括GCC / g ++编译器和库以及其他一些实用程序。检查文档:在这里!


2
好的,但是仍然不能完全回答我的问题。我知道'build-essential'包含一个信息性的软件包列表,这些列表对于创建Debian软件包至关重要。但是什么被视为Debian软件包?红宝石?gcc / g ++编译器?以及Debian软件包和'build-essential'与Ruby有什么关系?Ruby是在Debian软件包之上构建的吗?换句话说,Ruby是否需要build-essential软件包才能运行?所有这些部分之间的关系。
分级员

3
简而言之,如果您(或您要安装的其他软件包)需要C / C ++编译器,则需要安装build-essential。通常,这是我在新的Ubuntu安装中安装的第一件事:-)

4
@Adam由于Ruby是一种解释型语言,因此解释程序需要C或C ++编译器来构建自身以在计算机上运行。build-essential是一个metapackage(可安装许多其他软件包,如g ++和gcc:GNU C&C ++编译器的软件包)。如果您想从源代码编译任何东西,并且想要使用几乎任何编程语言,则需要它。HTH!
方圆形

6
这个答案是错误的。下面的答案是正确的。build-dep是apt-get命令,build-essential是一个软件包。
大卫

2
这不是正确的答案。所提供的链接未提供有关构建基本软件包中内容的任何见解或解释。
andDevW '18

54

该命令的sudo apt-get build-dep packagename意思是“作为根用户,为'packagename'安装所有依赖项,以便我可以构建它”。因此build-dep是apt-get命令,就像安装,删除,更新等一样。

build-essential 是一个软件包,其中包含对构建软件所需的大量软件包的引用。


1
感谢您解释“ build-dep”命令。因此,据我所知,在这种情况下,Ruby1.9附带有一个依赖项列表,Linux将其视为“待办事项/构建列表”,并逐一构建每个项目。构建的最终基础架构允许Ruby1.9正常运行。我不明白的是,为什么“ build-essential”或顶行中的所有其他软件包(zlib1g zlib1g-dev zlibc libruby1.9等)不包含在“待办事项/建造清单”中附加到Ruby1.9。如果只有一个命令,会不会更简单?
分级员

5

build-essential具有一个神奇的属性:无需在https://www.debian.org/doc/debian-policy/ch-source.html#中记录的源程序包的Build-Depends控制字段(debian-packages)下列出为构建依赖项。s-pkg关系

您可以在以下位置获得构建必备软件包的列表:

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

您还可以确定软件包是否属于build-essential

apt-get show gcc

其中说:

Build-Essential: yes

4

“ build-essential”包含用于从源代码编译/构建软件的工具(例如gcc编译器,make工具等)。因此,您从(通常为C)源文件开始,并从中创建可执行文件。

如果您只是想安装Ruby,我强烈建议您仅使用RVM(Ruby版本管理器)

请遵循“ Github存储库(推荐)”下的说明。

请注意,您将需要首先安装Git版本控制软件。apt-get install git-core如果还没有,请使用。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.