'make' 不被识别为内部或外部命令。
在Windows 10或11上,如果在命令行或PowerShell中运行命令"winget install GnuWin32.Make",可以快速安装make工具。然后可以使用"make"命令。不再需要安装choco。
这个方法几乎可以正常工作。但还需要将"C:\Program Files (x86)\GnuWin32\bin"添加到Windows的PATH环境变量中。
可执行文件也被称为make.exe而不是cmake.exe,所以命令也是"make"。
在choco上,make的版本是最新的。choco上的"make --version"输出为"GNU Make 4.4.1",而winget上的"make --version"输出为"GNU Make 3.81"。
这个答案应该放在前面。
问题原因:('make' is not recognized as an internal or external command)这个问题出现的原因是因为在Windows系统中没有识别到Make命令。
解决方法:可以通过安装GNU make来解决这个问题。在chocolatey上可以找到GNU make。
首先,需要从这里安装chocolatey。
然后,在命令行中输入choco install make
来安装GNU make。
安装完成后,就可以在Windows系统中使用Make命令了。
如果使用MinGW时遇到问题,也可以尝试在CMD中使用Make命令。
注意:如果需要设置正确的代理,可以使用choco config set proxy ADDRESS:PORT
命令进行设置。
如果不喜欢chocolatey需要管理员权限的PowerShell会话,也可以尝试使用scoop。详情请参考github.com/lukesampson/scoop/wiki/Chocolatey-Comparison。
还有一个问题是如何进行配置?
似乎根据chocolatey.org/terms的条款,chocolatey不适用于商业用途。
"make" is not recognized as an internal or external command 的问题是因为make命令在Windows系统中没有被识别。解决这个问题的方法有以下几种:
1. 直接下载Windows版本的make。可以从Make for Windows的官方网站下载安装。
2. 使用Chocolatey。首先需要安装Chocolatey这个软件包管理器,然后在命令提示符中运行以下命令进行make的安装:choco install make(可能需要在以管理员权限运行的命令提示符中执行)。
3. 安装Windows子系统Linux (WSL/WSL2)。通过安装WSL/WSL2,在Windows 10系统中嵌入一个Linux发行版,然后可以在其中安装make、gcc以及构建C程序所需的所有工具。
4. 对于较旧的Windows版本(如MS Windows 2000 / XP / 2003 / Vista / 2008 / 7),可以使用GnuWin32来安装make。
需要注意的是,MinGW这个项目似乎已经停止维护,因此不建议使用。
如果在安装了MinGW的情况下找不到mingw32-make.exe,可能需要下载mingw32-make的附加工具。可以在MinGW的官方网站上找到相关的安装说明。
需要提醒的是,Visual Studio也提供了自己的"make"实用程序nmake。可以在VS命令提示符中使用,或者将其添加到系统的环境变量中。然而,与GNU make相比,nmake的功能相对较少,并且文档几乎不存在。
另外,WSL和Git Bash使用的是不同的文件系统,但是可以通过访问"/c"路径(Git Bash)或"/mnt/c"路径(WSL)来访问Windows的文件夹。
对于使用Chocolatey安装make的用户,可以在命令行中直接使用make命令,不需要使用PowerShell。make命令在任何shell(虽然许多Makefile文件假定使用的是类Unix的shell,如Bash)中都可以运行。
此外,还可以使用Cygwin的make命令。
使用Chocolatey安装的make命令可能会受到一个问题的影响,即在Makefile中使用awk命令时可能会出现问题。解决方法是在子shell中运行awk命令。而Cygwin的make命令则没有这个问题。
至于环境变量,在使用Chocolatey安装的make命令中是否正常工作,可以像往常一样设置环境变量。如果想将脚本从NPM的package.json文件中移出,可以使用cross-env,但可能并非必需。
总之,解决"make is not recognized as an internal or external command"问题的方法包括下载Windows版本的make、使用Chocolatey安装make、安装Windows子系统Linux (WSL/WSL2)、使用Cygwin的make命令等。