从makefile调用node.js失败

时间:2019-07-02 08:44:17

标签: javascript node.js makefile

我有一个简单的hello world js文件,我使用node从终端运行,并且一切正常。当我尝试从makefile运行完全相同的内容时,它会打印hello world部分,但会失败。这是makefile中的相关目标:

run: ${JS_DIR}/main.js
    node ${JS_DIR}/main.js

这是我得到的错误:

$ make run
node /some/dir/main.js
Hello World
makefile:44: recipe for target 'run' failed
make: *** [run] Error 254

这是怎么回事?

1 个答案:

答案 0 :(得分:1)

如果make target的任何配方返回错误代码(即非零),它将失败。 node返回非零值。尝试运行

node /some/dir/main.js; echo $?

确认。

您可以更新main.js而不返回错误(我相信这是通过不带参数或process.exit()的参数调用0来完成的,但是我不是节点或js专家,所以要加一点盐。

或者,您可以通过在食谱的开头添加-来使make忽略返回代码:

run: ${JS_DIR}/main.js
    -node ${JS_DIR}/main.js