node-gyp 的 [options] 记录在哪里?
Where are node-gyp's [options] documented?
node-gyp --help
说:
Usage: node-gyp <command> [options]
where <command> is one of:
- build - Invokes `make` and builds the module
- clean - Removes any generated build files and the "out" dir
- configure - Generates a Makefile for the current module
- rebuild - Runs "clean", "configure" and "build" all at once
- install - Install node development files for the specified node version.
- list - Prints a listing of the currently installed node development files
- remove - Removes the node development files for the specified version
node-gyp@1.0.2 /usr/local/lib/node_modules/node-gyp
node@1.8.1
但是 [options]
实际记录在哪里?我挑选了各种 .js 源文件来尝试弄明白,但一无所获。
是否 [options]
直接传递给 gyp?
具体来说,我正在尝试使用未命名为 'binding.gyp' 的绑定文件,但它似乎位于 node.js 和 gyp 之间的节点 -> Python 包装器没有' 由于一些硬编码而允许它(尽我所能)。
例如:node-gyp configure custom.gyp
产生:
<snip>
gyp info spawn python
gyp info spawn args [ '/usr/local/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp', <-- NOT OK
gyp info spawn args 'custom.gyp', <-- OK
<snip>
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/node-gyp/custom.gypi', <-- MAYBE OK? DON'T LIKE IT BEING GLOBAL (race condition here...)
<snip>
gyp: binding.gyp not found (cwd: <snip>) while trying to load binding.gyp
gyp ERR! configure error <-- YES because it doesn't exist, I want to use 'custom.gyp'
gyp ERR! stack Error: `gyp` failed with exit code: 1
<snip>
其中<snip>
只是代表我删除了不相关的信息。
也许我可以通过修改 Python 包装器本身来解决这个问题,但是还有其他方法吗?例如一些node-gyp --option=x
?
Node-gyp 没有很好的文档记录,所以下面的陈述是我从项目源中发现的。
node-gyp 的选项取决于命令。这些选项列在 configDefs
对象中。其中一些被翻译成 GYP 选项,其他则没有。
GYP 文件名 binding.gyp
在 configure.js
中被硬编码
GYP 选项可能在 node-gyp 调用之前在 GYP_*
环境变量中设置。请参考 GYP 命令行帮助和 sources,因为 GYP 也没有很好的文档记录。
看起来 node-gyp repo 上现在有很多关于此的文档。
node-gyp --help
说:
Usage: node-gyp <command> [options]
where <command> is one of:
- build - Invokes `make` and builds the module
- clean - Removes any generated build files and the "out" dir
- configure - Generates a Makefile for the current module
- rebuild - Runs "clean", "configure" and "build" all at once
- install - Install node development files for the specified node version.
- list - Prints a listing of the currently installed node development files
- remove - Removes the node development files for the specified version
node-gyp@1.0.2 /usr/local/lib/node_modules/node-gyp
node@1.8.1
但是 [options]
实际记录在哪里?我挑选了各种 .js 源文件来尝试弄明白,但一无所获。
是否 [options]
直接传递给 gyp?
具体来说,我正在尝试使用未命名为 'binding.gyp' 的绑定文件,但它似乎位于 node.js 和 gyp 之间的节点 -> Python 包装器没有' 由于一些硬编码而允许它(尽我所能)。
例如:node-gyp configure custom.gyp
产生:
<snip>
gyp info spawn python
gyp info spawn args [ '/usr/local/lib/node_modules/node-gyp/gyp/gyp_main.py',
gyp info spawn args 'binding.gyp', <-- NOT OK
gyp info spawn args 'custom.gyp', <-- OK
<snip>
gyp info spawn args '-I',
gyp info spawn args '/usr/local/lib/node_modules/node-gyp/custom.gypi', <-- MAYBE OK? DON'T LIKE IT BEING GLOBAL (race condition here...)
<snip>
gyp: binding.gyp not found (cwd: <snip>) while trying to load binding.gyp
gyp ERR! configure error <-- YES because it doesn't exist, I want to use 'custom.gyp'
gyp ERR! stack Error: `gyp` failed with exit code: 1
<snip>
其中<snip>
只是代表我删除了不相关的信息。
也许我可以通过修改 Python 包装器本身来解决这个问题,但是还有其他方法吗?例如一些node-gyp --option=x
?
Node-gyp 没有很好的文档记录,所以下面的陈述是我从项目源中发现的。
node-gyp 的选项取决于命令。这些选项列在 configDefs
对象中。其中一些被翻译成 GYP 选项,其他则没有。
GYP 文件名 binding.gyp
在 configure.js
GYP 选项可能在 node-gyp 调用之前在 GYP_*
环境变量中设置。请参考 GYP 命令行帮助和 sources,因为 GYP 也没有很好的文档记录。
看起来 node-gyp repo 上现在有很多关于此的文档。