如何在 Linux 上使用 Git 安裝軟件

已發表: 2022-01-29
筆記本電腦屏幕上的代碼
MchlSkhrv/Shutterstock

您是否被告知“克隆 repo 並構建它”,但不知道下一步該做什麼? 我們將向您展示如何讓 GitHub 上的該程序在 Linux 上運行,即使您是初學者。

構成計算機程序的指令被編寫、編輯並保存在文本文件中。 然後一個稱為編譯器的程序處理這些文件。 這將產生程序的可執行版本。 指令的文本文件稱為源代碼。 可以在計算機上實際運行的程序版本稱為二進製文件或可執行文件。

這是事件的簡化版本,但它描繪了一幅正確的(如果概括的話)圖。 在實踐中,您會發現該模型的各種變化。 有時,其他程序會生成文本文件。 其他時候,源代碼在解釋器中運行,不需要編譯,等等。

然而,所有軟件項目的一個普遍真理是:源代碼文件是皇冠上的明珠,需要同樣小心地照顧它們。

版本控製程序

項目中的所有源代碼文件都稱為代碼庫。 大型項目通常有許多開發人員在代碼庫上工作。 必須跟踪和識別每個代碼更改。 如果需要,更改必須是可逆的。 如果不同的開發人員對同一個源代碼文件進行更改,則必須合併他們的編輯。

廣告

因此,存在稱為版本控制系統的軟件程序以簡化對代碼庫的更改的管理也就不足為奇了。 版本控制系統保存代碼庫中每個文件的所有先前版本,並且記錄、評論和跟踪每個更改。

一個叫 Git 的小東西

Linux 內核的創建者 Linus Torvalds 開發了一個名為 Git 的版本控製程序來管理 Linux 內核代碼庫。 它現在是世界上使用最廣泛的版本控制軟件。 從字面上看,有數百萬人在使用它。

使用 Git,項目的代碼庫存儲在存儲庫中。 除了位於開發人員計算機上的本地存儲庫之外,也可能位於網絡上的中央服務器上,擁有一個異地或遠程存儲庫是一個很好的做法。

這就是 GitHub 的用武之地。

GitHub

GitHub 是由於git的成功而創建的。 創始人看到了對安全託管的遠程git存儲庫的新興需求。 他們推出了一項提供雲平台的業務,以允許開發團隊託管遠程存儲庫。 截至 2019 年 4 月,GitHub 託管了超過 1 億個存儲庫。

如果一個應用程序是一個開源項目,它很有可能被託管在 GitHub 上。 還有其他可用的存儲庫平台,例如 BitBucket 和 GitLab,但 GitHub 擁有最大份額的開源存儲庫。

倉庫剖析

GitHub 存儲庫由包含文件的文件夾組成,例如最重要的源代碼文件。 通常,存儲庫中還有許多其他類型的文件。 可能有文檔文件、手冊頁、軟件許可文件、構建說明和 shell 腳本文件。 沒有關於存儲庫應該或必須包含什麼的規則,但是有一些約定。

廣告

如果您熟悉一個廚房,您可以瀏覽任何廚房。 存儲庫也是如此。 一旦你了解了這些約定,你就知道去哪裡找到你需要的東西。

那麼,如何在計算機上獲取存儲庫的副本,以及如何將程序構建為二進制可執行文件?

自述文件

在存儲庫中包含自述文件是傳統的做法。 它可能被稱為自述文件、自述文件或自述文件。 它可能有“.md”的擴展名或根本沒有擴展名。

讓我們看一下 Atom 編輯器的 GitHub 存儲庫。 您會看到一長串文件夾和文件。 向下滾動,您會看到 README.md 文件的內容。

GitHub 會自動將自述文件的內容放在存儲庫的首頁。 如果自述文件具有“.md”擴展名,它將包含 Markdown 標記語言。 這允許開發人員使用樣式元素,例如字體、項目符號和圖像。

github 上 atom 編輯器的 readme.md 文件部分。

通常,自述文件的部分內容會告訴您項目的內容、類型許可證是什麼、維護項目的人員、如何參與以及如何構建和運行應用程序。

廣告

如果它沒有列出實際的構建說明,它會告訴你在哪裡可以找到這些信息。 對構建應用程序有用的其他信息,例如所需的構建工具和其他依賴項,可能會在此處列出,或者鏈接可能會將您帶到該信息。

盒子存儲庫

我們的任務是克隆盒子存儲庫,然後構建boxes應用程序。

存儲庫遵循與 Atom 相同的佈局。 有一個文件夾和文件列表,下面是自述文件的內容。 它遵循存儲庫的標準佈局,但它是一個較小的項目,因此文件夾和文件較少。

自述文件也更簡短。 它有一個名為“開發”的部分。 在該部分中有一個標題為“從源代碼構建”的鏈接。 如果我們點擊該鏈接,我們應該會找到我們需要的信息。

鏈接到 box 應用程序的構建說明。

通常需要一些輕量級的偵查來導航存儲庫並找到所需的信息,但這並不困難。 仔細閱讀存儲庫頁面上的所有內容。 有時,信息在那裡,但可能不會突出顯示。

依賴項

“從源代碼構建”頁面有一個名為“在 Linux 上構建”的部分,這正是我們所需要的。 它說我們必須安裝 C 編譯器、Bison 和 Flex。

構建盒子應用程序所需的工具集

廣告

構建說明說要發出make命令,所以我們還需要make

構建此應用程序所需的工具是 C 編譯器、Bison、Flex、 make和 Git(將存儲庫克隆到您的計算機)。

本文針對運行 Ubuntu、Fedora 和 Manjaro Linux 發行版的計算機進行了研究。 沒有一個發行版安裝了所有這些工具——必須在每個發行版上安裝一些東西。

安裝工具集

Ubuntu 必須安裝 Git、Flex、Bison 和make 。 以下是命令:

 sudo apt-get 安裝 git 

 sudo apt-get install flex 

 sudo apt-get 安裝野牛

 sudo apt-get install make 

Fedora 必須安裝 Flex、Bison 和make 。 以下是命令:

 須藤 dnf 安裝 flex 

 sudo dnf 安裝野牛

 須藤 dnf 安裝

Manjaro 必須安裝 GCC 編譯器、Flex 和 Bison。 以下是命令:

 sudo pacman -Syu gcc 

 sudo pacman -Syu flex 

 sudo pacman -Syu 野牛

克隆存儲庫

每個 GitHub 存儲庫都有一個特定的 Web 地址,用於 Git 將存儲庫克隆到您的計算機。 在盒子存儲庫的主頁上,有一個標有“克隆或下載”的綠色按鈕。

GitHub 中的“克隆或下載”按鈕。

廣告

點擊按鈕查看網址。 這是我們在克隆存儲庫時必須傳遞給git命令的地址。

切換到我們要將存儲庫克隆到的目錄,然後使用此命令。 如果您的終端窗口支持它,您可以將網址複製並粘貼到命令中。 按 Ctrl+Shift+V 粘貼到 GNOME 終端窗口。

Git 克隆遠程存儲庫並在您的計算機上創建一個本地存儲庫。 它告訴我們它正在克隆到一個名為“boxes”的目錄中。

box 目錄是在您發出git命令的目錄中創建的。 如果我們切換到 box 目錄並查看內容,我們會看到與在 GitHub 頁面上看到的相同的文件和文件夾列表。

偉大的! 我們已經成功地將源代碼和其他文件克隆到我們的​​計算機上。 現在,我們需要構建應用程序。

構建應用程序

要構建應用程序,我們必須按照 GitHub 存儲庫中的說明進行操作。 有時,我們會運行一個特定的 shell 文件,而其他我們會運行make 。 我們遵循的構建說明告訴我們運行make

廣告

make實用程序從 makefile 讀取並執行一組指令。 這些說明告訴make如何編譯程序並將其鏈接在一起。 make將指令傳遞給編譯器和其他構建工具。

我們被告知使用的命令將調用make兩次。 第一個調用make構建應用程序,第二個調用運行一組測試。

構建說明告訴我們使用的命令是:

 做 && 做測試

許多輸出行在終端窗口中快速滾動。 大約一分鐘後,您將返回到命令提示符。

部署盒子應用程序

應用程序已經構建,我們有一個可執行的二進製文件。 我們現在必須將二進製文件複製到 /usr/bin/ 目錄。 這允許 shell 在我們嘗試使用它時找到它。

廣告

對於某些應用程序,這可能就是您所要做的。 在其他情況下,您可能需要將其他文件(例如手冊頁和配置文件)複製到文件系統中的位置。 後者是我們對新應用程序必須要做的,因為它在構建說明中。

來自 GitHub 的文件複製命令。

使用sudo運行這些命令。 第一個命令將手冊頁複製到 man1 目錄中:

 sudo cp doc/boxes.1 /usr/share/man/man1 

接下來,將全局配置文件複製到 /usr/share/ 中的目錄:

 sudo cp box-config /usr/share/boxes 

最後,將二進製文件複製到 /usr/bin:

 sudo cp src/boxes /usr/bin 

測試盒子應用程序

讓我們看看這一切是否有效! 嘗試打開boxes命令的手冊頁。

 人箱

這是令人鼓舞的! 您會看到一個手冊頁,告訴您如何使用boxes命令。

按“Q”離開 man 系統並嘗試使用boxes命令。

 echo 極客指南 | 盒子

我們得到了回應:

廣告

考慮到您所付出的所有努力,這似乎有點讓人不知所措,但本練習的重點是引導您從 GitHub 拉回存儲庫並構建應用程序。

boxes命令允許您將通過管道傳送給它的文本包裝在各種框架中。 其中一些可以用作源代碼文件中的註釋。 例如,上述格式可用作 C 源代碼文件中的註釋。 其他的純粹是裝飾性的。 -d (設計)選項允許您選擇框架的樣式。

 echo 極客指南 | 盒子 -d 迴旋
echo 極客指南 | 盒子-d c-cmt2 

您可以從中選擇一長串設計。 要查看所有內容,請使用以下命令:

 盒子-l | 較少的

構建完成

從源代碼構建的步驟通常很簡單:

  • 查看存儲庫上的構建說明。
  • 檢查您是否安裝了所需的工具並安裝任何缺少的工具。
  • 將存儲庫克隆到您的計算機。
  • 按照構建說明進行操作,這些說明通常就像鍵入make一樣簡單。
  • 將文件複製到所需位置。

如果構建說明中有不清楚的步驟,請查看項目是否有可以向其發送問題的論壇或社區。 如果應用程序有一個網站,他們可能會有一個“聯繫我們”頁面。 維護 box 項目的開發人員在 box 網站的“關於”頁面上有他的電子郵件。 這是他的慷慨姿態,也是更廣泛的開源社區的典型代表。

相關:適合開發人員和愛好者的最佳 Linux 筆記本電腦