【问题标题】:@ prefix when setting environment variable in Makefile在 Makefile 中设置环境变量时的 @ 前缀
【发布时间】:2011-12-22 18:46:36
【问题描述】:

这是我到目前为止所得到的:

SPECS = $(shell find spec -iname "*_spec.js")

spec:
    @NODE_ENV=test \
    @NODE_PATH=lib \
    ./node_modules/.bin/expresso \
    $(TESTFLAGS) \
    $(SPECS)

cov:
    @TESTFLAGS=--cov $(MAKE) spec

.PHONY: spec cov

输出:/bin/sh: @NODE_PATH=lib: command not found

如果我只设置一个变量,它就可以正常工作。我做错了什么?

【问题讨论】:

    标签: makefile environment-variables


    【解决方案1】:

    只使用一次“@”。它只在字符串的开头需要,但你有两次。续行非常直接,您当前的代码如下:

    @NODE_ENV=test @NODE_PATH=lib ./node_modules/.bin/expresso $(TESTFLAGS) $(SPECS)

    NODE_PATH 上的“@”正在传递给 shell,这是您不想要的。

    【讨论】:

      猜你喜欢
      • 2015-02-01
      • 2013-10-28
      • 2016-04-28
      • 2016-06-27
      • 1970-01-01
      • 2014-08-06
      • 2016-07-02
      • 1970-01-01
      • 2019-05-20
      相关资源
      最近更新 更多