问:是否可以更改npm运行脚本的上下文?
我想要的是以下内容:
"scripts": {
"test": "gulp mocha",
"pre-install": "./deps/2.7/cpython/configure --prefix=$(pwd)/build --exec-prefix=$(pwd)/build && make -C deps/2.7/cpython && make -C deps/2.7/cpython install",
"install": "node-gyp rebuild"
},
显然,cd deps/2.7/cpython/ && ./configure
它将在类似UNIX的系统上运行,但不能在Windows上运行。
原因:问题的根源在于configure
python repo的命令将文件输出到调用它的目录中。但是,这些文件是与构建相关的,make
并且make install
在回购目录中查找文件。
在这种情况下,我无法更改,Makefile
因为Python的构建过程很复杂。
替代方案:替代方案可能是编写一些install.js
并使用节点的操作系统独立API和some child_process.exec()
,我可能会这样做。但是,不离开npm真的很好。