Ubuntu에서 "make: 명령을 찾을 수 없음" 오류를 수정하는 방법
게시 됨: 2023-05-10
표준 Ubuntu 설치에는 Linux make
유틸리티가 포함되어 있지 않습니다. 주로 소프트웨어 개발자가 사용하지만 비코더도 상황에 따라 필요할 수 있습니다. Ubuntu Linux에 make
설치하는 방법은 다음과 같습니다.
"make: 명령을 찾을 수 없음"의 의미
Ubuntu에서 "make: 명령을 찾을 수 없음"을 수정하는 방법
make 유틸리티란 무엇입니까?
나는 프로그래머가 아닌데 왜 관심을 가져야 합니까?
apt로 make를 설치하는 방법
Bash가 여전히 make를 찾을 수 없다면?
여기서 성공할 수 있다면
"make: 명령을 찾을 수 없음"의 의미
Ubuntu(또는 다른 Linux 배포판)에서 "make: 명령을 찾을 수 없음" 오류가 표시되면 make
명령이 현재 시스템에 설치되어 있지 않음을 의미합니다. 정상입니다. Ubuntu는 기본적으로 make
명령을 설치하지 않습니다.
make
유틸리티는 Linux의 소스 코드에서 소프트웨어를 컴파일할 때 자주 사용됩니다. 직접 make
명령을 실행하려고 하든 백그라운드에서 make
호출하는 소프트웨어를 사용하든 설치되지 않았다는 "make: command not found" 오류가 표시됩니다.
"make: command not found" 오류를 수정하려면 make
설치하기만 하면 됩니다. 우분투의 표준 패키지 관리자인 apt
로 그렇게 할 수 있습니다.
Ubuntu에서 "make: 명령을 찾을 수 없음"을 수정하는 방법
Ubuntu에서 "make: command not found"를 수정하려면 make
유틸리티를 설치해야 합니다.
make
유틸리티만 설치하려면 터미널에서 다음 명령을 실행하십시오.
sudo apt 설치 만들기
소프트웨어 빌드를 위한 다른 중요한 패키지뿐만 아니라 make
도 포함하는 빌드 필수 패키지를 설치하는 것이 좋습니다. 터미널에서 다음 명령을 실행하여 설치합니다.
sudo apt install 빌드 필수
make
설치하면 더 이상 "make: command not found" 오류가 표시되지 않습니다. 명령줄에서 직접 make
명령을 실행하거나 make
에 의존하는 설치 스크립트를 다시 시작하여 계속할 수 있습니다.
make 유틸리티란 무엇입니까?
make
도구는 소프트웨어 프로젝트 빌드를 지원하는 명령줄 유틸리티입니다. 그러나 그 유용성을 이해하려면 소프트웨어가 정상적으로 개발되는 방식을 이해해야 합니다. 프로그래머가 코드를 작성할 때 프로그램 명령을 편집기나 통합 개발 환경에 입력합니다. 텍스트 파일을 실행 가능한 바이너리로 변환하려면 어떤 일이 발생해야 합니다. 그 단계를 컴파일이라고 하며 컴파일러라는 프로그램이 필요합니다.
컴파일러는 소스 코드 파일을 읽고 CPU가 이해할 수 있는 저수준 명령으로 변환합니다. 모든 명령을 포함하는 이진 파일을 생성합니다. 프로그램을 실행하려고 할 때 호출되고 실행되는 바이너리 파일입니다.
컴파일러는 복잡한 소프트웨어입니다. 컴파일해야 하는 각 파일에 대해 호출할 수 있는 많은 명령줄 옵션이 있습니다. 그리고 복잡한 개발 프로젝트에는 수백 개의 서로 다른 소스 코드 파일이 있을 수 있습니다. 추적해야 할 설정이 많습니다. 또 다른 문제는 마지막으로 컴파일된 이후 변경되지 않은 파일을 컴파일하고 싶지 않다는 것입니다. 그것은 시간 낭비입니다.
메이크파일은 개발 프로젝트를 실행 가능한 이진 파일로 빌드하는 데 필요한 모든 설정과 규칙을 포함하는 간단한 텍스트 파일입니다. 또한 이전 컴파일 이후 변경되지 않은 파일의 재컴파일을 방지합니다. makefile을 읽고 프로젝트 빌드를 조정하는 프로그램은 make
입니다.
프로젝트의 제어된 재컴파일 및 빌드는 하나의 명령을 실행하여 수행할 수 있습니다: make
. 일부 통합 개발 환경은 자동 생성된 메이크파일을 사용하고 백그라운드에서 make
호출하여 컴파일 단계를 수행합니다.
나는 프로그래머가 아닌데 왜 관심을 가져야 합니까?
기본 사용자 기반은 프로그래머일 수 있지만 코드를 전혀 작성하지 않더라도 컴퓨터에 make
설치해야 하는 이유가 여전히 있을 수 있습니다.
일부 소프트웨어 패키지는 설치 파일에 포함되지 않습니다. 작동하는 프로그램 버전을 얻으려면 모든 소스 코드가 포함된 아카이브 파일을 다운로드하거나 프로그램의 Git 리포지토리를 복제하여 소스 코드를 얻은 다음 make
실행해야 합니다.
VirtualBox를 사용하여 다른 Linux 배포판을 가상 머신으로 실행하는 경우 최상의 경험을 위해 게스트 운영 체제 내부에 VirtualBox Guest Additions를 설치해야 한다는 것을 알게 될 것입니다. 이렇게 하려면 VirtualBox Guest Additions 커널 모듈을 빌드해야 하며 이를 수행하려면 게스트 운영 체제에 make
가 있어야 합니다.
apt로 make를 설치하는 방법
Ubuntu의 새 설치로 작업하는 경우에는 make
없을 것입니다. 다른 사람을 위해 컴퓨터를 관리하는 경우 make
이미 설치되어 있는지 확인하는 것이 좋습니다.
make 명령을 입력하고 "Enter"를 누르십시오.

만들다
특정 명령을 지정하지 않았고 makefile을 찾을 수 없다고 불평하는 make
의 메시지가 표시되면 make
설치되어 작동하는 것입니다. whereis
명령을 사용하여 make
바이너리 및 man
페이지가 있는 위치를 확인할 수 있습니다.
만드는 곳
Bash에서 make
명령을 찾을 수 없다는 메시지가 표시되면 make
설치되지 않은 것입니다.
한동안 업데이트를 적용하지 않은 경우 먼저 update
옵션과 함께 apt
명령을 실행하는 것이 좋습니다.
sudo 적절한 업데이트
이 명령으로 make
쉽게 설치할 수 있습니다.
sudo apt 설치 만들기
그러나 기본 개발 도구 세트가 없으면 make
그다지 유용하지 않습니다. 따라서 설치하는 것이 좋습니다. 편리하게도 이들은 "build-essential"이라는 단일 패키지로 번들로 제공됩니다. 해당 패키지를 설치하면 gcc
및 g++
같은 도구가 설치되고 make
도 설치됩니다.
나는 보통 make
자체를 설치하는 단계를 건너뛰고 바로 "build-essential" 패키지 설치로 이동합니다. 그것은 하나의 돌로 두 마리의 새를 죽입니다.
이 명령으로 "build-essential" 패키지를 설치합니다.
sudo apt install 빌드 필수
"build-essential"에는 많은 도구가 있으며 모두 설치하는 데 몇 분이 걸립니다. 그들이 당신을 대신하여 서 있기 때문에 조금 기다릴 가치가 있습니다. 이제 모든 종류의 소프트웨어 빌드에 대처할 수 있어야 합니다.
관련: apt 대 apt-get: Linux의 차이점은 무엇입니까?
Bash가 여전히 make를 찾을 수 없다면?
매우 드물게 make
설치되어 있지만 Bash가 여전히 찾을 수 없습니다. 이를 해결하기 위해 먼저 쉬운 옵션을 시도하는 것이 좋습니다. 이 명령을 사용하여 make
를 강제로 다시 설치할 수 있습니다.
sudo apt install --reinstall make
그래도 작동하지 않으면 find
명령을 사용하여 make
바이너리를 찾을 수 있습니다. 그런 다음 $PATH
환경 변수에 있는 디렉터리에 있는지 확인할 수 있습니다.
이 명령은 루트 디렉토리에서 파일 시스템을 검색하여 "make"라는 파일을 찾습니다. 출력을 less
로 파이프합니다.
찾기 / -유형 f -이름 "만들기" | 더 적은
검색이 완료되면 슬래시 " /
"를 누르고 "make"를 입력한 다음 "Enter"를 눌러 less
에서 "make"라는 단어를 검색합니다. "make"라는 단어가 포함된 모든 줄이 표시됩니다.

보시다시피 find
명령은 Bash가 "Tab" 명령줄 완성의 일부로 사용하는 세 개의 파일과 바이너리 실행 파일을 찾았습니다. 하지만 이 설치에서 뭔가 크게 잘못되어 make
바이너리가 "/etc/" 디렉토리에 배치되었습니다.
우리는 그것을 그것이 있어야 할 곳으로 옮길 것이고, make
작동하기 시작할 것입니다.
sudo mv /etc/make /usr/bin
이제 make
명령을 사용하려고 하면 Bash가 아닌 make
에서 오는 모든 메시지가 표시됩니다.
만들다
좋습니다. 이 컴퓨터에서 작업할 수 있는 make가 있습니다. 더 이상 "make: command not found" 오류가 표시되지 않습니다.
여기서 성공할 수 있다면
어디서나 만들 수 있습니다.
이러한 기술은 다른 배포판에서도 작동해야 합니다. 자신의 배포판에서 사용되는 설치 명령을 대체하기만 하면 됩니다.
Fedora에서는 이 명령을 사용하여 make
와 함께 빌드 도구를 설치할 수 있습니다.
sudo dnf groupinstall "개발 도구" "개발 라이브러리"
Manjaro에서 이 명령을 사용합니다.
sudo pacman -S 기본 개발
관련: Windows 10의 Ubuntu Bash 셸에 Linux 소프트웨어를 설치하는 방법