有人知道是否可以直接将node命令行选项(例如--expose-gc)传递给npm可执行文件吗? 我有一个构建可执行文件的node模块(请参见此处)。我希望该可执行文件能够访问global.gc()。为了做到这一点,您需要使用--expose-gc标志启动您的node进程。 我可以强制用户将我的可执行文件包装在node命令周围,但那么我为什么还需要一个可执行文件呢?你有什么想法吗?
假设你的可执行文件名为ex。首先,在命令行上执行chmod a+x ex,确保它是可执行的。接下来,确保ex文件以如下一行开头:#! /usr/bin/env node --expose-gc env(1) 会在你的路径中找到 Node 可执行文件,并使用给定的参数运行它,由于行首的 #! "shebang",将 ex 的内容传递到该进程的 stdin 中。 请使用 ex 或 ./bin/ex(例如),而不是 node ex 来运行您的程序。
ex
,该怎么办?这是典型情况。例如,运行mocha、typescript等。 - Daniel KaplanNODE_OPTIONS
环境变量来传递节点运行时命令行参数。例如,NODE_OPTIONS="--expose-gc" ex
。请参阅 https://nodejs.org/dist/latest-v18.x/docs/api/cli.html#node_optionsoptions。 - Joe Hildebrand