通常,自述文件包含一些部分,告诉您项目是关于什么的、类型许可证是什么、由谁维护项目、如何参与以及如何构建和运行应用程序。
如果它没有列出实际的构建说明,它会告诉您在哪里可以找到此信息。其他对构建应用程序有用的信息,如所需的构建工具和其他依赖项,可能会在此处列出,或者链接可能会将您带到该信息。
盒子储存库
我们的任务是克隆BOXS存储库,然后构建BOXS应用程序。
存储库遵循与Atom存储库相同的布局。这里有一个文件夹和文件列表,下面是自述文件的内容。它遵循存储库的标准布局,但它是一个较小的项目,因此文件夹和文件较少。
自述文件也更简短。它有一个叫做“发展”的部分。在该部分中有一个标题为“从源代码构建”的链接。如果我们沿着那个链接走,我们应该能找到我们需要的信息。
通常需要一些轻量级的侦察工作来导航存储库并找到您需要的信息,但这并不困难。仔细阅读存储库页面上的所有内容。有时,信息在那里,但可能不会突出显示。
“依附性”(The Dependency)
“从源代码构建”页面有一个名为“在Linux上构建”的部分,这正是我们需要的。它说我们必须安装C编译器、Bison和Flex。
构建说明说要发出make命令,所以我们也需要make。
构建此应用程序所需的工具是C编译器、Bison、Flex、Make和Git(将存储库克隆到您的计算机)。
本文针对运行Ubuntu、Fedora和Manjaro Linux发行版的计算机进行了研究。没有一个发行版安装了所有这些工具--每个工具上都必须安装一些东西。
安装工具集
Ubuntu必须安装Git、Flex、Bison和Make。以下是命令:
sudo apt-get install git
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install make
软呢帽必须安装Flex、Bison和Make。以下是命令:
sudo dnf install flex
sudo dnf install bison
sudo dnf install make
Manjaro必须安装GCC编译器、FlexTM和Bison。以下是命令:
sudo pacman -Syu gcc
sudo pacman -Syu flex
sudo pacman -Syu bison
克隆存储库
每个GitHub存储库都有一个与Git一起使用的特定网址,用于将存储库克隆到您的计算机上。在盒子存储库的主页上,有一个标记为“克隆或下载”的绿色按钮。
单击该按钮查看网址。这是我们在克隆存储库时必须传递给git命令的地址。
切换到我们希望将存储库克隆到的目录,然后使用此命令。如果您的终端窗口支持,您可以将网址复制并粘贴到命令中。按Ctrl+Shift+V粘贴到GNOME终端窗口。
Git克隆远程存储库,并在您的计算机上创建一个本地存储库。它告诉我们它正在克隆到一个名为“box”的目录中。
Box目录是在发出git命令的目录中创建的。如果我们切换到Box目录并查看内容,我们看到的文件和文件夹列表与我们在GitHub页面上看到的相同。
太棒了!我们已经成功地将源代码和其他文件克隆到我们的计算机上。现在,我们需要构建应用程序。
构建应用程序
要构建应用程序,我们必须遵循GitHub存储库上的说明。有时,我们会运行特定的shell文件,而运行其他shell文件的时候会运行make。我们遵循的构建指令告诉我们要运行make。
Make_Utility从Makefile读取并执行一组指令。这些说明告诉make如何编译程序并将其链接在一起。Make将指令传递给编译器和其他生成工具。
我们被告知要使用的命令将调用make两次。第一个调用make会构建应用程序,第二个调用会运行一套测试。
构建说明告诉我们要使用的命令是:
make && make test
在终端窗口中,多行输出快速滚动。马上,您将返回到命令提示符。
部署箱式应用程序
应用程序已经构建好了,我们有了一个可执行的二进制文件。现在,我们必须将二进制文件复制到/usr/bin/目录。这允许外壳在我们尝试使用它时找到它。
对于某些应用程序,这可能是您需要做的全部工作。在其他情况下,您可能需要将其他文件(如手册页和配置文件)复制到文件系统中的位置。后者是我们必须对新应用程序执行的操作,因为它在构建说明中。
使用sudo运行这些命令。第一个命令将手册页复制到man1目录:
sudo cp doc/boxes.1 /usr/share/man/man1
接下来,将全局配置文件复制到/usr/share/中的目录:
sudo cp boxes-config /usr/share/boxes
最后,将二进制文件复制到/usr/bin:
sudo cp src/boxes /usr/bin
测试盒应用程序
让我们看看是不是都能用!尝试打开BOCKS命令的手册页。
man boxes
那太鼓舞人心了!您会看到一个手册页,告诉您如何使用BOCKS命令。
按“q”退出MAN系统,并尝试使用BOOKS命令。
echo How-To Geek | boxes
我们得到的回应是:
考虑到您所做的所有工作,这可能看起来有点平淡无奇,但本练习的重点是引导您完成从GitHub调出存储库并构建应用程序的过程。
Box命令允许您将通过管道传送到它的文本换行到各种框架中。其中一些可以用作源代码文件中的注释。例如,上面的格式可以作为C源代码文件中的注释。其他的纯粹是装饰性的。d(设计)选项允许您选择框架的样式。
echo How-To Geek | boxes -d whirly
echo How-To Geek | boxes -d c-cmt2
有一长串图案可供你选择。要全部查看它们,请使用以下命令:
boxes -l | less
构建完成
从源代码构建的步骤通常很简单:
查看存储库上的构建说明。 检查您是否安装了所需的工具,并安装任何缺少的工具。 将存储库克隆到您的计算机。 遵循构建说明,通常只需输入make即可。 将文件复制到所需位置。
如果构建说明中有不清楚的步骤,请查看该项目是否有可以向其发送问题的论坛或社区。如果应用程序有一个网站,他们可能会有一个“联系我们”页面。维护盒子项目的开发人员在盒子网站的“关于”页面上有他的电子邮件。这对他来说是一个慷慨的姿态,也是更广泛的开放源码社区的典型。