如何修复 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 软件

