如何修復 Ubuntu 中的“make: command not found”錯誤
已發表: 2023-05-10
標準 Ubuntu 安裝不包括 Linux make實用程序。 它主要由軟件開發人員使用,但即使是非編碼人員在某些情況下也可能需要它。 下面介紹如何在 Ubuntu Linux 上安裝make 。
“make: command not found”是什麼意思
如何修復 Ubuntu 上的“make: command not found”
什麼是 make 實用程序?
我不是程序員,我為什麼要關心?
如何使用 apt 安裝 make
如果 Bash 仍然找不到 make 怎麼辦?
如果你能在這裡成功
“make: command not found”是什麼意思
如果您在 Ubuntu(或其他 Linux 發行版)上看到“make: command not found”錯誤,這意味著make命令當前未安裝在您的系統上。 這很正常——Ubuntu 默認不安裝make命令。
在 Linux 上從源代碼編譯軟件時經常使用make實用程序。 無論您是嘗試自己直接運行make命令,還是使用在後台調用make的軟件,您都會看到“make: command not found”錯誤,表明它未安裝。
要修復“make: command not found”錯誤,你只需要安裝make 。 您可以使用 Ubuntu 的標準包管理器apt來做到這一點。
如何修復 Ubuntu 上的“make: command not found”
要在 Ubuntu 上修復“make: command not found”,您需要安裝make實用程序。
要僅安裝make實用程序,請在終端中運行以下命令:
須藤容易安裝使

我們建議安裝 build-essential 包,其中還包括make以及其他用於構建軟件的關鍵包。 在終端中運行以下命令來安裝它:
sudo apt install build-essential

安裝make後,您將不會再看到“make: command not found”錯誤。 您可以直接從命令行運行make命令或再次啟動依賴於make安裝腳本以繼續。
什麼是 make 實用程序?
make工具是一個命令行實用程序,可幫助構建軟件項目。 但是,要了解它的用處,您必須了解軟件通常是如何開發的。 當程序員編寫代碼時,他們將程序指令輸入編輯器或集成開發環境。 必鬚髮生一些事情才能將文本文件轉換為可執行二進製文件。 該步驟稱為編譯,它需要一個稱為編譯器的程序。
編譯器讀取源代碼文件,並將它們翻譯成 CPU 可以理解的低級指令。 它生成一個包含所有這些指令的二進製文件。 當您嘗試運行您的程序時,它是被調用和執行的二進製文件。
編譯器是複雜的軟件。 對於他們需要編譯的每個文件,他們有很多可以調用的命令行選項。 而一個複雜的開發項目可能有數百個不同的源代碼文件。 有很多設置需要跟踪。 另一個問題是您不想編譯自上次編譯後未更改的文件。 那是浪費時間。
生成文件是一個簡單的文本文件,其中包含將開發項目構建到可執行二進製文件中所需的所有設置和規則。 它還避免了重新編譯自上次編譯後未更改的文件。 讀取 makefile 並協調項目構建的程序是make 。
項目的受控重新編譯和構建可以通過發出一個命令來執行: make 。 一些集成開發環境使用自動生成的 makefile 並通過在後台調用make來執行編譯階段。
我不是程序員,我為什麼要關心?
它的主要用戶群可能是程序員,但仍然有可能需要在計算機上安裝make的原因,即使您從未編寫過一行代碼。
某些軟件包不會打包到安裝文件中。 要獲得該程序的工作版本,您必須下載包含所有源代碼的存檔文件,或者您需要克隆該程序的 Git 存儲庫以獲取源代碼,然後運行make 。
如果您使用 VirtualBox 將其他 Linux 發行版作為虛擬機運行,您就會知道,為了獲得最佳體驗,您需要在來賓操作系統中安裝 VirtualBox Guest Additions。 為此,必須構建 VirtualBox Guest Additions 內核模塊,並且為此,必須在來賓操作系統上存在make 。
如何使用 apt 安裝 make
如果您正在使用新安裝的 Ubuntu,它不會有make 。 如果您正在為其他人管理計算機,則有必要檢查一下是否已經安裝了make 。
輸入 make 命令並點擊“Enter”。
製作


如果您看到來自make消息抱怨您沒有給它一個特定的命令並且它找不到 makefile,那麼make已經安裝並且可以工作了。 您可以使用whereis命令查看make二進製文件和man頁所在的位置。
在哪裡製造

如果你看到來自 Bash 的消息說它找不到make命令,那麼make沒有安裝。

如果您有一段時間沒有應用任何更新,那麼首先運行帶有update選項的apt命令是值得的。
須藤更新

我們可以使用此命令輕鬆安裝make 。
須藤容易安裝使

但是,如果沒有默認的開發工具集make就沒有多大用處。 所以你不妨安裝它們。 方便地,這些被捆綁到一個名為“build-essential”的包中。 安裝該軟件包會安裝gcc和g++等工具,還會安裝make 。
我通常會跳過單獨安裝make的步驟,直接安裝“build-essential”包。 一石打二鳥。
使用此命令安裝“build-essential”包。
sudo apt install build-essential

“build-essential”裡面有很多工具,安裝完需要幾分鐘。 不過,值得稍等片刻,因為它們會為您提供幫助。 您現在應該能夠應對各種軟件構建。
相關: apt 與 apt-get:Linux 上的區別是什麼?
如果 Bash 仍然找不到 make 怎麼辦?
極少數情況下,安裝了make但 Bash 仍然找不到它。 為了解決這個問題,我們不妨先嘗試簡單的選項。 您可以使用此命令強制重新安裝make 。
sudo apt install --reinstall make

如果這不起作用,您可以使用find命令嘗試找到make二進製文件。 然後我們可以確保它位於$PATH環境變量中的目錄中。
此命令將從根目錄搜索您的文件系統,查找名為“make”的文件。 它將輸出通過管道傳輸到less中。
查找 / -type f -name "make" | 較少的

搜索完成後,按正斜杠“ / ”在less中搜索單詞“make”,輸入“make”並按“Enter”。 您會看到所有包含單詞“make”的行。

如您所見, find命令找到了 Bash 用作其“Tab”命令行補全的一部分的三個文件,以及二進制可執行文件。 但是這次安裝出了點問題, make binary 被放置在“/etc/”目錄中。
我們將把它移到它應該在的地方,然後make應該開始工作了。
sudo mv /etc/make /usr/bin

現在,如果我們嘗試使用make命令,我們收到的任何消息都應該來自make ,而不是來自 Bash。
製作

太好了,我們已經在這台計算機上工作了。 您將不會再看到“make: command not found”錯誤。
如果你能在這裡成功
你可以在任何地方製作它。
這些技術也應該適用於其他發行版。 您只需將安裝命令替換為您自己的發行版中使用的命令即可。
在 Fedora 上,您可以使用此命令與make一起安裝構建工具。
sudo dnf groupinstall “開發工具” “開發庫”
在 Manjaro 上,使用此命令。
sudo pacman -S 基礎開發
相關:如何在 Windows 10 的 Ubuntu Bash Shell 中安裝 Linux 軟件

