我有一个简单的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
这是怎么回事?
答案 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