【发布时间】:2015-06-01 07:21:39
【问题描述】:
我正在为我的项目创建一个Makefile:
build:
sudo gem install sass
任何时候我构建它都会询问我的超级用户密码。如果我删除sudo,它根本不会安装,而是会抛出错误,因为我没有权限安装gem。
所以我想出了一个想法,我想检查gem是否已经存在,并且只有在它不存在时才运行安装命令。
所以问题是如何在Makefile 中执行此检查。
【问题讨论】:
-
您将如何在makefile 外部执行该检查?
-
@EtanReisner 如果我知道怎么做,
Makefile不会有问题。示例检查在这里,但对我没有多大帮助:stackoverflow.com/questions/1032114/… 我可能会编写一个.rb脚本来执行检查并输出/返回一些东西,但我将它作为最后的手段。 -
我的意思是这里的“在makefile中”位对这个问题并不重要。如果您可以在生成文件之外进行检查,则可以在其中进行检查。因此,如果您的问题是如何检查,那么您应该提出这个问题(并省略 makefile 位),并且您链接到的那个问题似乎已经有了您的答案。所以,如果这不是问题,那么问题是什么?你不能神奇地在 makefile 中做任何你不能正常做的事情。因此,如果您通常需要一个 ruby 脚本,那么您也需要一个 makefile 中的脚本。
-
@EtanReisner 是的,你是对的 - 我在
Makefile本身内无能为力,所以我创建了一个简单的ruby脚本来解决这个问题。