Если вы читаете данную заметку, то скорее всего уже знаете, что такое Makefile и как с ним можно работать в своих проектах при написании программного кода.
Для запуска команд из Makefile необходима программа GNU Make. Если в Linux системах её просто установить и сразу можно с ней работать в среде разработки, то в Windows необходимо настроить окружение для корректной работы.
Если не настроить окружение Windows, то получим в терминале Visual Studio Code ошибку:
make: Имя "make" не распознано как имя командлета, функции, файла сценария или выполняемой программы. Проверьте правильность написания имени, а также наличие и правильность пути, после чего повторите попытку.
Установим и настроим GNU Make.
Установить GNU Make
Установить на Windows его можно несколькими способами.
Способ № 1
Запустить в PowerShell команду:
winget install GnuWin32.Make
Произойдёт скачивание и установка программы.
Способ № 2
Скачать программу на просторах интернета и установить вручную. Ссылка на сайт: https://gnuwin32.sourceforge.net/packages/make.htm (на момент написания статьи действующая).
Скачать версию 3.81 с моего сайта. Более свежей версии для Windows на момент написания статьи не видел.
Настроить GNU Make
После установки исполняемый файл программы доступен по пусти C:\Program Files (x86)\GnuWin32\bin. Убедитесь, что у вас программа установлена по данному пути. Если программа установилась по другому пути, то в настройках, которые описаны ниже, указывайте ваш путь.
Этот пусть необходимо прописать в системные переменные среды операционной системы. Для этого открыть Параметры и в строке поиска набрать Среды. Во всплывающей подсказке выбрать Изменение системных переменных среды:
Далее в свойствах системы выбираем Переменные среды:
В открывшемся окне в разделе Системные переменные ищем переменную Path и изменяем её, добавив требуемый путь:
В Visual Studio Code необходимо установить расширение Makefile Tools:
Перезапустить Visual Studio Code. Теперь можно запускать команды прописанные в Makefile вашего проекта.
Make: not found
Source: MakeFile tools(extension)
make : The term ‘make’ is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or
if a path was included, verify that the path is correct and try again.
At line:1 char:1
- make -f makefile dev
-
+ CategoryInfo : ObjectNotFound: (make:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
- The terminal process «C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe -Command make -f makefile dev» terminated with exit code: 1.
- Terminal will be reused by tasks, press any key to close it.
The Make Command Not Found error indicates that the make utility is either not installed on the system or it’s not present in the PATH variable.
On Linux, make is often preinstalled or included with package sets like build-essential. On Mac, it’s included with the Xcode command line tools, whereas on Windows, you must manually install it.
Of course, there are ways to manually install make on Linux and Mac as well. We’ve discussed these and other fixes in further detail in the sections below.
How to Fix Make Command Not Found
As stated, you should ensure make is actually installed and present in the PATH variable. Additionally, as this issue is common with codespace, we’ve also listed a relevant fix for that.
On Linux
Depending on the Linux system, the make command may or may not be installed. If it’s installed, you should check the PATH variable. But often, it’s just not installed to start with. Do note that before you install make, you may have to update the package list first. Here’s how you can do this on various distros:
- On Debian-based distros:
sudo apt-get update
- On Arch-based distros:
sudo pacman -Syu
Next, you can install make with the following commands:
- On Debian-based distros:
sudo apt-get install -y make
- On RPM distros:
sudo yum install make
- On Arch-based distros:
sudo pacman -S make
If installing make like this doesn’t work, you can install it as part of the build-essential or similar set of packages.
- On Debian-based distros:
sudo apt install -y build-essential
- On RPM Distros:
sudo yum groupinstall "Development Tools"
- On Arch-based distros:
sudo pacman -Sy base-devel
Make is generally located in the /usr/bin
or /usr/local/bin
directory. These directories should already be in your PATH variable, but if not, you can add them as such:export PATH=$PATH:/file/path
On Windows
Unlike Linux, make isn’t installed by default on Windows. We recommend using chocolatey to install it. Here are the steps for this:
- Press Win + R, type
powershell
, and press Enter. - Execute the following command to install choco:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
- After installing it, restart the PowerShell window and enter
choco install make
to install make.
If installing make doesn’t resolve the error, you should check the PATH variable. Here’s how you can do this:
- Press Win + R, type
systempropertiesadvanced
, and press Enter. - Click on Environment Variables.
- Check the System Variables section. If you installed make with choco, the ChocolateyInstall variable (
C:\ProgramData\chocolatey
) should be present there. - If you used another method like MinGW, you should press New and add the appropriate path (e.g.,
C:\MinGW\bin
). Additionally, try calling make differently (e.g.,MinGW32-make
).
On Mac
On fresh Mac installations, you must first install the Xcode command line tools in order to use make. You can download the complete Xcode files from the developer site, or you can download Xcode from the App Store.
With older Xcode versions, command line tools like make were bundled by default. But now, you must manually them by going to Xcode > Preferences > Downloads > Components > Install Command Line Tools.
For even newer versions, we recommend just running the xcode-select --install
command in the terminal, as this will specifically install the command line tools instead of all the Xcode files.
Note: If you have homebrew installed, you can easily install make with sudo brew install make
.
If make still doesn’t work, you should check the PATH variable. For older Xcode versions, you can add /Developer/usr/bin
to the PATH environment variable with:$ export PATH=$PATH:/Developer/usr/bin
For recent Xcode versions, you can instead use the following command:export PATH=$PATH:/Applications/Xcode.app/Contents/Developer/usr/bin
Rebuild Codespace
If you’re facing this error while trying to compile anything from GitHub, the codespace might be the problem. You may be able to resolve this error by deleting the codespace and reinstalling it. You can do this from your GitHub Codespaces page.
У меня есть Windows 7, и я попытался использовать команду «make», но «make» не распознается как внутренняя или внешняя команда.
Я Start -> cmd -> run -> make
, который выводит:
‘make’ не распознается как внутренняя или внешняя команда, действующая программа или пакетный файл.
затем я набрал «mingw32-make «вместо » make» (Start -> cmd -> run -> mingw32-make
) и я получаю тот же выход:
‘mingw32-make’ не распознается как внутренний или внешний командой,исполняемой программой или пакетным файлом.
что мне делать дальше, чтобы исправить эту проблему?
7 ответов
ваша проблема, скорее всего, что оболочка не знает, где найти ваш gnuwin32 используется для предоставления полезных пакетов «linux-world» для Windows. Проверьте информацию о вашем провайдере для make.
таким образом, чтобы избежать ввода пути, вы можете добавить путь к вашему PATH
переменные среды. Вы найти это легко.
Чтобы убедиться, что он зарегистрирован ОС, откройте консоль (run cmd.exe
) и введя $PATH
должно дать вам список путей по умолчанию. Проверьте, что местоположение вашего make
программа есть.
в Windows10 я решил эту проблему, добавив «C:\MinGW\bin» путь тогда назывался с помощью MinGW32-make не делают
- сначала убедитесь, что у вас установлен MinGW.
- из MinGW installation manager проверьте, есть ли у вас установлен.
- Проверьте, добавили ли вы папку MinGW bin в свой путь. тип
PATH
в командной строке и найдите папку. Или в windows 10 перейдите вControl Panel\System and Security\System --> Advanced system settings --> Environment Variables --> System Variables
найтиPath
переменной, выберите,Edit
и проверьте, есть ли он там. Если не просто добавить его! - как пояснил здесь создать новый файл в любом ваших папках. Например create
mingwstartup.bat
в папке MinGW bin. напишите строкуdoskey make=mingw32-make.exe
внутри, сохраните и закройте его. - откройте редактор реестра, запустив
regedit
. Как объяснил здесь наHKEY_LOCAL_MACHINE
илиHKEY_CURRENT_USER
на\Software\Microsoft\Command Processor
щелкните правой кнопкой мыши на правой панелиNew --> Expandable String Value
и имяAutoRun
. дважды щелкните и введите путь к вашей .файл bat в качестве данных значения (например,"C:\MinGW\bin\mingwstartup.bat"
) результат должен выглядеть как это:
теперь каждый раз, когда вы открываете новый терминал запустить mingw32-make.exe
. Надеюсь, это поможет.
‘make’ — это команда для UNIX / Linux. Вместо этого используйте команду «nmake» в MS Windows. Или вам лучше использовать эмулятор, такой как CYGWIN.
Поиск make.exe используя функцию поиска, при обнаружении запишите абсолютный путь к файлу. Вы можете сделать это, щелкнув правой кнопкой мыши имя файла в результате поиска, а затем Свойства или открыть папку местоположения (не уверен в точной формулировке, я не использую английский язык).
при открытии консоли командной строки (cmd) вместо ввода make
введите полный путь и название, например,C:\Windows\System32\java
(это для java…).
кроме того, если вы не хотите чтобы обеспечить полный путь каждый раз, то у вас есть возможности:
- сделать
C:\Windows\System32\
текущий рабочий каталог, используяcd
на уровне cmd. - добавить
C:\Windows\System32\
к вам путь переменной среды.
Refs:
- использовать полный путь:http://technet.microsoft.com/en-us/magazine/ff678296.aspx
- компакт-диск: http://technet.microsoft.com/en-us/library/cc731237.aspx
- путь:http://technet.microsoft.com/en-us/library/bb490963.aspx
Я использую windows 8. У меня была та же проблема. Я добавил путь «. C:\MinGW\bin «для системной переменной среды с именем «path» тогда это сработало. Может быть, вы можете попробовать то же самое. Надеюсь, это поможет!
моя бита кода
====== запустите » cmd «как admin 2 Используйте «setx»=====
совок setx «C:\Users\%username%\scoop» /M
echo %scoop%
setx scoopApps "%scoop%\apps" /M
echo %scoopApps%
scoop install make
=======Фаза 3: Создайте переменную среды makePath===
setx makePath "%scoopApps%/make" /M
echo %makePath%
setx makeBin "%makePath%/Bin" /M
echo %makeBin%
setx Path "%Path%;%makeBin%" /M
echo %Path%
Astrum
⭐⭐⭐
Ошибка «имя make не распознано как имя командлета» обычно возникает, когда система не может найти командлет или функцию с именем «make» в текущей среде. Это может быть связано с тем, что команда «make» не установлена или не доступна в текущей оболочке.
Korvus
⭐⭐⭐⭐
Чтобы решить эту проблему, можно попробовать установить командлет или функцию «make» или проверить, правильно ли настроена среда. Если вы используете PowerShell, можно попробовать использовать команду «Get-Command» для поиска командлета или функции с именем «make».
Lumina
⭐⭐⭐⭐⭐
Еще одной возможной причиной этой ошибки может быть то, что команда «make» не добавлена в системную переменную PATH. Чтобы исправить это, можно добавить путь к команде «make» в переменную PATH или использовать полный путь к команде при ее вызове.
Вопрос решён. Тема закрыта.
- Выбор подходящего ремня для стиральной машины: советы и рекомендации
- Что было причиной равнодушия его невесты?
- Возврат корма для животных в Озон: возможно ли это?