在Windows系统中,“Make”命令有哪些可选项?

14

我正在尝试在Windows机器上设置Node的Derby.js。根据Derby.js的设置说明,为了使用coffeescript,我必须执行以下操作:

$ cd ~
$ derby new --coffee first-project 
$ cd first-project 
$ make

这个方法有效,但是在“make”部分开始之后就出了问题,因为明显需要一个make程序。我下载了一个 supposed to get it going 的 make.exe 文件,但它告诉我找不到文件。我打开了make-file,看看它指向的路径是否存在,实际上是存在的。我在想,可能需要以不同的方式引用文件路径,因为它位于Windows上并通过命令提示符运行?有人知道我可以做什么吗?我能想到的就是在Linux的VM上安装它,然后将文件复制过来,但这有点麻烦。


你尝试过GnuWin32的make吗? - kirbyfan64sos
是的,为什么?@kirbyfan64sos - JosephG
我很好奇。我似乎想不出为什么它不起作用。如果你认为Cygwin太大了,你可以尝试一下MinGW和MSYS。 - kirbyfan64sos
5个回答

17

正如您所发现的那样,一个独立的make是不够的;您需要Cygwin。

make是一个解释makefile并执行其中命令的程序。但是,这些命令是什么呢?如果您查看您的makefile,您会看到可在Linux、Mac OS X或Cygwin中使用但在标准Windows系统中不可用的UNIX风格命令。因此,简单地获取一个make是不够的。


10

所以我最终下载了Cygwin并使用了附带的"make"系统。它完美地工作了!老实说,我不知道为什么GnuWin32的"make"命令不起作用,但我想这对未来遇到同样问题的人可能会有所帮助。


3

微软实现的Make是nmake。我认为它并不像来自各种Unix系统的许多Make实现那样先进,但它应该适用于简单的Makefiles。


0

我猜你所说的make是指GnuWinmake

命令提示符报错是因为make.exe文件不在环境变量中,无法作为命令调用。

我尝试通过给出完整路径(C:\Program Files (x86)\GnuWin32\bin\make.exe)来调用它,结果完美运行。

此外,你可以将其注册到命令提示符中,以便调用。将路径添加到PATH环境变量中即可。


0

如果您正在寻找可能的选项,我实际上有一个可以利用PowerShell的选项。 "Make"在makefile中执行命令,因此我使用PowerShell来完成类似的任务。 但是,请注意,我只为我的Django项目执行了此操作。 如果您感兴趣,请阅读下文,并查看以下示例:

  1. 创建一个类似于initial.ps1的PowerShell文件。
  2. 插入您在makefile中看到或期望的内容。 这是我为我的Django项目使用的示例:

# Bypass the execution policy (do this if needed)
Set-ExecutionPolicy RemoteSigned

# Setup variables
$proj = "proj"
$app = "app"

# Starting Virtual Environment
virtualenv $proj
cd .\$proj
.\Scripts\activate

# Install project
pip install --upgrade pip
pip install django

# Starting app
django-admin startproject $app
cd .\$app

# Build the project and the app
python .\manage.py makemigrations
python .\manage.py migrate
python .\manage.py createsuperuser
  1. 打开CMD并运行ps1文件。

对我来说,这非常方便,因为我不需要在创建新项目时反复输入所有这些命令。希望这可以帮助到你。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接