【问题标题】:Pass node command line options to npm executable?将节点命令行选项传递给 npm 可执行文件?
【发布时间】:2017-06-16 03:54:31
【问题描述】:

有谁知道是否可以将节点命令行选项(例如 --expose-gc)直接传递到 npm 可执行文件中。

我有一个构建可执行文件的节点模块(参见here)。我希望该可执行文件能够访问 global.gc()。为此,您需要使用 --expose-gc 标志启动您的节点进程。

我可以强制用户将我的可执行文件包装在节点命令周围,但是为什么我什至需要一个可执行文件。想法?

【问题讨论】:

    标签: node.js npm command-line-arguments executable


    【解决方案1】:

    假设您的可执行文件名为ex。首先,通过在命令行中执行chmod a+x ex 来确保它是可执行的。接下来,确保ex 文件以如下行开头:

    #! /usr/bin/env node --expose-gc
    

    env(1) 将在您的路径上找到可执行的节点,并使用给定的参数运行它,将ex 的内容传递到该进程的标准输入,因为行首的#!“scratchbang” .

    仅使用 ex./bin/ex(例如)而不是 node ex 运行您的程序。

    【讨论】:

    • 将“--expose-gc”添加到 scratchbang 会引发以下错误:/usr/bin/env: node --expose-gc: No such file or directory。你确定我们可以在 scratchbang 上传递命令行参数吗?
    • 这确实有效。它最初不适合我,因为我们疯狂地将节点设置作为通过我公司的 docker 运行的别名。感谢您的帮助@Joe Hildebrand!我知道我的可执行文件可以运行,这不是我的问题。如果有人在这里遇到问题,关键是将命令行选项添加到scratchbang!!
    猜你喜欢
    • 2010-09-12
    • 1970-01-01
    • 2010-11-26
    • 2013-11-21
    • 2016-09-15
    • 1970-01-01
    • 2018-01-11
    • 2016-11-05
    相关资源
    最近更新 更多