菜鸟科技网

Linux make命令未找到?如何解决?

make 是一个自动化编译工具,它根据一个名为 Makefile 的文件来决定如何编译和链接程序,绝大多数需要从源代码编译安装的软件(如 nginx, vim, docker 等)都会依赖 make

Linux make命令未找到?如何解决?-图1
(图片来源网络,侵删)

下面我将为您提供详细的解决方案,从最简单到最复杂,并解释可能的原因。


解决方案

安装 GNU Make (最常见、最直接的方法)

这是解决此问题的标准方法,您只需要使用您系统包管理器来安装它即可。

检查您使用的 Linux 发行版

您可以在终端输入以下命令来查看:

Linux make命令未找到?如何解决?-图2
(图片来源网络,侵删)
cat /etc/os-release

根据您的发行版选择对应的安装命令

对于 Debian / Ubuntu / Mint 及其衍生版: 这些系统使用 apt 包管理器。

# 更新软件包列表
sudo apt update
# 安装 make
sudo apt install build-essential

小贴士build-essential 是一个“元包”(meta-package),它会自动安装 make, gcc, g++ 等编译和构建软件所需的核心工具,对于大多数情况,安装它比只安装 make 更好。

对于 CentOS / RHEL / Fedora / Rocky Linux / AlmaLinux: 这些系统使用 yumdnf 包管理器。

Linux make命令未找到?如何解决?-图3
(图片来源网络,侵删)
# 对于 CentOS/RHEL 7/8 和 Fedora 之前的版本
sudo yum groupinstall "Development Tools"
# 对于 Fedora 22+ 和 CentOS/RHEL 8+
sudo dnf groupinstall "Development Tools"

同样,Development Tools 组也包含了 make, gcc, g++ 等构建工具。

对于 Arch Linux: Arch 使用 pacman 包管理器。

sudo pacman -S base-devel

base-devel 组是 Arch 的基础开发工具集,包含了 make

对于 openSUSE: openSUSE 使用 zypper 包管理器。

sudo zypper install -t pattern devel_C_C++

验证安装 安装完成后,再次输入以下命令检查版本:

make --version

如果能看到 make 的版本信息(GNU Make 4.3),就说明安装成功了。


检查环境变量 (PATH)

如果您确定已经安装了 make,但系统仍然找不到它,这很可能是 环境变量 PATH 配置问题

PATH 环境变量告诉系统在哪些目录下查找可执行文件。make 所在的目录没有被包含在 PATH 中,系统自然就找不到它。

检查 make 是否存在whichwhereis 命令查找 make 的位置:

# 查找 make 的可执行文件路径
which make
# 查找 make 的所有相关文件
whereis make

如果这两个命令返回了一个路径(/usr/bin/make),说明 make 确实存在,只是系统找不到它。

检查当前 PATH 变量 在终端输入:

echo $PATH

您会看到一串由冒号 分隔的目录列表,检查 make 所在的目录(/usr/bin)是否在这个列表里。

临时修复 (仅对当前终端会话有效) 如果您只是想在当前终端窗口中使用 make,可以临时将它的目录添加到 PATH

export PATH=$PATH:/usr/bin

注意:这种方法只对当前打开的终端窗口有效,关闭终端后失效。

永久修复 (推荐) 为了永久解决这个问题,您需要修改系统的 shell 配置文件。

  • 对于 Bash Shell (最常见): 编辑 ~/.bashrc 文件:

    nano ~/.bashrc

    在文件末尾添加下面这行(/usr/bin 不在 PATH 中):

    export PATH=$PATH:/usr/bin

    保存文件后,让配置生效:

    source ~/.bashrc
  • 对于 Zsh Shell (在 macOS 和一些现代 Linux 发行版中流行): 编辑 ~/.zshrc 文件:

    nano ~/.zshrc

    同样在文件末尾添加 export 命令并保存,然后运行:

    source ~/.zshrc

总结与排查步骤

当您遇到 make: command not found 时,请按以下步骤操作:

  1. 首先尝试安装:根据您的 Linux 发行版,使用 aptyumdnf 安装 make(最好是 build-essentialDevelopment Tools)。
  2. 验证安装:运行 make --version 确认安装成功。
  3. 如果安装了仍报错:使用 which make 检查 make 是否存在。
  4. which make 有输出:说明是 PATH 环境变量问题,请按照“方案二”的步骤,检查并修复您的 PATH 配置。

对于绝大多数用户来说,方案一 就足以解决问题,只有在特殊的环境(如某些 Docker 容器、最小化安装的系统或自定义的 PATH 环境中)才需要考虑方案二

分享:
扫描分享到社交APP
上一篇
下一篇