【问题标题】:Calling node.js from makefile fails从 makefile 调用 node.js 失败
【发布时间】:2019-11-12 20:56:01
【问题描述】:

我有一个简单的 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

这是怎么回事?

【问题讨论】:

    标签: javascript node.js makefile


    【解决方案1】:

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

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

    确认。

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

    或者,您可以通过在配方的开头添加 - 来让 make 忽略返回码:

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

    【讨论】:

    • 确实,echo $? 产生了相同的错误代码。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-07
    • 1970-01-01
    • 2015-07-28
    • 2011-08-21
    • 2015-02-08
    相关资源
    最近更新 更多