栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

摩卡咖啡需要做。找不到适用于Windows的make.exe

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

摩卡咖啡需要做。找不到适用于Windows的make.exe

嘿,我觉得你;)我是一个团队的成员,忙于使用node建立一个新的创业公司。我们的两个开发人员在OSX上,一个在Linux上。我在Windows上。

我下载并使用了GNU的“
Windows版”
,现在可以很高兴地制作我们的安装和测试套件。

另外,我强烈建议您使用PowerShell-它有一堆别名为UNIX友好命令的命令(例如Get-ChildItem->
ls)。这使我们的一些脚本无需更改即可在UNIX或Windows上运行。

因此,对于您的问题:

尝试使用以下命令替换上面的makefile:

# Detect if we're running Windowsifdef SystemRoot    # If so, set the file & folder deletion commands:    FixPath = $(subst /,,$1)else    # Otherwise, assume we're running *N*X:    FixPath = $1endifNODE_MODULES := ./node_modules/.bin/test:     $(call FixPath, NODE_MODULES)mocha -u tdd -R spec.PHONY: test

注意:对于Makefile,目标中的任务必须使用制表符而不是空格缩进!去搞清楚!!

我从这篇文章中偷走了FixPath例程(感谢Paul
:))。如果在Windows上运行,它将用替换字符串的/。

在Windows上,make的问题之一是它为了执行每个任务而被外壳化到NT的命令外壳(通过CreateProcess)。这意味着在执行makefile文件时,Powershell否则会处理的所有
N个 X-ism(例如ls,cat等)将不起作用。因此,建议用可覆盖的别名替换内联命令,对于NT,您可以将其设置为一个命令,对于 N X
,可以将其设置为另一个命令。

也许我会分叉Gnu Make,看看在执行命令而不是NT命令行时是否可以将它封装到Powershell中。这也将消除对上面的FixPaths的需要;)

如果遇到问题,请ping我;)



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/388290.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号