Cambiar el directorio de trabajo para los scripts npm
Q: ¿Es posible cambiar el contexto en el que npm ejecuta scripts?
Lo que quiero es lo siguiente:
"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"
},
Obviamentecd deps/2.7/cpython/ && ./configure
funcionaría en sistemas similares a UNIX pero no en Windows.
Por qué: La raíz del problema es que elconfigure
El comando del repositorio de Python envía los archivos al directorio donde se llama. Sin embargo, los archivos son relevantes para la construcciónmake
ymake install
que buscan los archivos en el directorio del repositorio.
En este caso no puedo cambiar elMakefile
dado que el proceso de compilación de Python es comprensiblemente complejo.
Alternativa: La alternativa es probablemente escribir algunosinstall.js
y usar la API independiente del sistema operativo del nodo y algunoschild_process.exec()
, que probablemente voy a hacer. Sin embargo, no salirnpm Sería realmente agradable.