Windows的“Make”命令 - 可能的选项?

时间:2013-05-26 02:15:09

标签: linux windows node.js derbyjs

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

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

这一直有效,直到“make”部分,这显然需要一个make程序。我下载了一个make.exe文件,它应该让它继续下去,但它告诉我它无法找到该文件。我在文本编辑器中打开了make文件,看看它指向的路径是否存在,它确实存在。我想知道它是否必须以不同的方式引用文件的路径,因为它位于Windows上并且正在通过命令提示符运行?有谁知道我可以做什么?我能想到的只是在Linux的VM上进行设置,然后将文件复制过来,但这样做有点痛苦。

5 个答案:

答案 0 :(得分:11)

正如您所发现的,独立的make是不够的;你需要Cygwin。

make是一个解释makefile并执行makefile中的命令的程序。但是,那些命令是什么?如果查看makefile,您将看到Linux,Mac OS X或Cygwin中可用的UNIX样式命令,但在现成的Windows系统中不可用。因此,仅仅抓住make是不够的。

答案 1 :(得分:7)

所以我最终下载了Cygwin,并使用了随附的“make”系统。它工作得很好!老实说,我不知道为什么GnuWin32“make”命令不起作用,但我想这对那些将来遇到同样问题的人会有所帮助。

答案 2 :(得分:3)

Microsoft的Make实现是nmake。我不认为它与各种Unices的许多Make实现一样先进,但它应该适用于简单的Makefile。

答案 3 :(得分:0)

如果您正在寻找可能的选项,我实际上会使用 PowerShell 。 “make”在makefile中执行命令,这就是我使用PowerShell完成类似任务的原因。但是,请注意我只为我的Django项目做了这个。如果您对此感兴趣,请阅读以下内容:

  1. 创建了一个类似initial.ps1的PowerShell文件。
  2. 在makefile中插入您看到或期望的内容。以下是我用于Django项目的示例:
  3. # 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。
    2. 这对我来说非常方便,所以在创建新项目时我不需要反复输入所有这些命令。希望这会有所帮助。

答案 4 :(得分:0)

我认为通过表达make的意思是指GnuWin的{​​{1}}。

该cmd抛出错误,因为make文件不在环境变量中,无法作为命令调用它。

我尝试通过提供完整路径(make.exe)来调用它,并且效果很好。

此外,您可以在cmd中注册它以作为命令调用它。将路径添加到C:\Program Files (x86)\GnuWin32\bin\make.exe环境变量。