Q:是否可以更改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上运行.
Why:问题的根源在于,python repo的configure
命令将文件输出到调用它的目录中.然而,这些文件与make
和make install
的构建相关,它们在repo目录中查找文件.
在这种情况下,我无法更改Makefile
,因为Python的构建过程是可以理解的复杂.
Alternative:替代方案可能是编写大约install.js
个,并使用node的独立于操作系统的API和一些child_process.exec()
,我可能会这样做.然而,不离开npm号真的很好.