How to install and use “make” in Windows?
我正在遵循某人的指示,该人的存储库已克隆到我的机器。我想要的很简单:能够在设置代码环境的过程中使用make命令。但是我使用的是Windows,我在网上搜索时仅找到要下载的make.exe文件,要下载的make-4.1.tar.gz文件(我下一步不知道该怎么做)以及有关下载MinGW(针对GNU;但是安装后,我没有提到" make"。
我不需要GNU编译器或相关的东西;我只想在Windows中使用" make"。请告诉我该怎么做。
谢谢!
- 仅安装make不可能解决您的问题。许多Makefile是针对类似Unix的系统编写的,需要您安装大量其他实用程序(如果项目涉及已编译的代码,则包括受支持的编译器),例如Cygwin,或者如果您真的无法释放,则仅切换至WSL这样的平台完全由Windows自己完成。
GNU make可以在巧克力上使用。
-
从此处安装巧克力。
-
然后choco install make。
现在您将可以在Windows上使用Make。
我已经尝试过在MinGW上使用它,但是它也应该在CMD上也可以使用。
-
截至2019年最简单的IMO解决方案。
-
注意:可能需要使用choco config set proxy ADDRESS:PORT设置正确的代理
-
如果您不喜欢chocolaty如何要求管理员Powershell会话,那么还会有一个独家消息:github.com/lukesampson/scoop/wiki/Chocolatey-Comparison
make是GNU命令,因此在Windows上获取它的唯一方法是安装Windows版本,如GNUWin32提供的版本。无论如何,有几种方法可以实现:
使用MinGW,请确保您具有C:\\MinGW\\bin\\mingw32-make.exe。否则,您会丢失mingw32-make additional utilities。在MinGW的HowTo页面上查找链接以进行安装。掌握之后,您有两种选择:
其他选项正在使用Chocolatey。首先,您需要安装此程序包管理器。安装完成后,您需要安装make:
最后一个选项是安装用于Linux的Windows子系统(WSL),因此您将在Windows 10中嵌入自己选择的Linux发行版,在其中可以安装make,gcc和所有工具您需要构建C程序。
- 谢谢!我不知道make是GNU命令。我检查了您提供的路径并找到了make.exe,但路径与此类似(C:\\\\ MinGW \\\\ msys \\\\ 1.0 \\\\ bin \\\\ make.exe)。我将此添加到PATH变量中,并且可以正常工作!
-
一个更简单的方法是创建一个符号链接:mklink C:\\bin\\make.exe C:\\MinGW\\bin\\mingw32-make.exe。因此,将来如果您确实升级了mingw,该链接将保持不变。
-
仅使用MSYS2,我无法使用mklink。 MSYS2的pacman可以安装make pacman -S make,但无法正常工作。相反,msys64/mingw64/bin中已经存在mingw32-make.exe。也许它随gcc一起提供。我很困惑,为什么它不只是被称为make.exe。我只是将其复制到make.exe。
-
提到Visual Studio附带了自己的" make"实用程序nmake,可能会很有用,请参阅文档。在VS命令提示符下可以使用它,但是您当然可以将其添加到路径中。但是请注意,与GNU make相比,功能非常有限,并且文档几乎不存在。
-
WSL与说git bash的文件系统完全不同,对吗?
-
@notacorn之类的,但是您可以从两个目录中都访问" Windows"文件夹。使用/ c的Git bash,使用/ mnt / c的WSL。
-
这是过时的吗?我安装了MinGW,但没有" mingw32-make.exe",只有" mingw-get.exe"
-
@dutytrash然后可能需要下载mingw32-make附加实用程序,如MinGW的HowTo页面中所述,请在此处查看:mingw.org/wiki/InstallationHOWTOforMinGW
-
"做是一个GNU命令"……有点,但不完全是。几十年前的原始Make是Unix工具。然后GNU克隆了它。然后,GNU对其进行了广泛的增强,以至于他们不得不放弃向后兼容性。 GNU版本好得多,以至于很少有人再使用原始的Unix版本,并且它已经基本消失了。许多Linux系统同时包含原始的Make(称为" make")和GNU版本的Make(称为" gmake")。
可接受的答案通常是一个坏主意,因为手动创建的make.exe会留下来,并可能导致意外问题。它实际上破坏了RubyInstaller:https://github.com/oneclick/rubyinstaller2/issues/105
一种替代方法是通过Chocolatey安装make(如@Vasantha Ganesh K指出的那样)
另一种替代方法是从Chocolatey安装MSYS2,并从C:\\tools\\msys64\\usr\\bin使用make。如果MSYS2没有自动安装make,则需要通过pacman -S make手动安装(如@Thad Guidry和@Luke指出的那样)。
-
我使用Chocolatey安装了此软件,但C:\\tools\\msys64\\usr\\bin中没有make.exe?
-
您可以在该文件夹中找到pacman,然后使用@thad的步骤3
如果使用Windows 10,它将内置在Linux子系统功能中。只需启动一个Bash提示符(按Windows键,然后键入bash并选择" Windows上的Ubuntu上的Bash"),将cd移至要创建的目录,然后键入make。
FWIW,Windows驱动器位于/mnt中,例如C:\\驱动器在Bash中是/mnt/c。
如果开始菜单中没有Bash,请按照以下说明启用该Windows功能(仅限64位Windows):
https://docs.microsoft.com/zh-cn/windows/wsl/install-win10
-
Linux子系统在Windows 10 Home上不可用。
-
在过去两个月中,我一直在Win10 Home ver.1809上使用Linux的Windows子系统(特别是从Microsoft Store下载的Ubuntu 20.04 LTS),没有任何问题。说到make,我可以直接从Windows Terminal窗口中直接使用它,而无需先启动bash。整齐。
从其官方网站GnuWin32下载make.exe
现在您将可以在cmd中使用make。
安装Msys2 http://www.msys2.org
遵循安装说明
使用$ pacman -S make gettext base-devel安装make
将C:\\msys64\\usr\\bin\\添加到您的路径
我可以建议您逐步进行操作。
访问GNUwin
下载安装程序
按照说明安装GNUWin。您应该注意应用程序的安装目录。 (稍后将需要它1)
请遵循以下说明,并将make添加到您的环境变量中。正如我之前告诉您的,现在是时候知道应用程序的安装位置了。
仅供参考:默认目录为C:\\Program Files (x86)\\GnuWin32\\。
现在,更新PATH以包括新安装程序的bin目录。
一个可能添加到路径的典型示例是:...;C:\\Program Files (x86)\\GnuWin32\\bin
另一种选择是,如果您已经安装了minGW并将bin文件夹添加到Path环境变量中,则可以使用" mingw32-make"代替" make"。
您还可以创建一个从" make"到" mingw32-make"的符号链接,或者复制和更改文件名。我以前不建议使用这些选项,除非您对minGW进行更改,否则它们将一直起作用。
安装npm
安装节点
安装Make
节点安装组成
节点安装
如果以上命令显示任何错误,则安装Chocolatey(choco)
打开cmd,然后复制并粘贴以下命令(从巧克力URL复制的命令)
@"%SystemRoot%\\\\ System32 \\\\ WindowsPowerShell \\\\ v1.0 \\\\ powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command" [System.Net.ServicePointManager] :: SecurityProtocol = 3072; iex(( -Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))"
一个解决方案,如果您想使用命令行仿真器cmder,可能会有所帮助。您可以选择安装软件包安装程序。首先,我们使用以下代码行在Windows命令提示符下安装:
1 2
| @"%SystemRoot%\\System32\\WindowsPowerShell\\v1.0\\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command"iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET"PATH=%PATH%;%ALLUSERSPROFILE%\\chocolatey\\bin"
refreshenv |
在安装Chocolatey之后,可使用choco命令安装make。安装后,您将需要在/cmder/config/user_aliases.cmd中添加一个别名。应该添加以下行:
1
| make="path_to_chocolatey\\chocolatey\\bin\\make.exe" $* |
然后将在cmder环境中运行。