प्रश्न: क्या उस संदर्भ को बदलना संभव है जिसमें 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 जैसी प्रणालियों पर काम करेगा, लेकिन खिड़कियों पर नहीं।
क्यों: समस्या की जड़ यह है, कि configure
अजगर रेपो की कमांड फाइलों को उस निर्देशिका में आउटपुट करती है, जहां इसे कहा जाता है। हालाँकि, फ़ाइलों के लिए प्रासंगिक बना रहे हैं make
और make install
जो रेपो की निर्देशिका में फ़ाइलों के लिए देखो।
इस मामले में मैं बदल नहीं सकता Makefile
क्योंकि पायथन की निर्माण प्रक्रिया काफी जटिल है।
वैकल्पिक: विकल्प शायद कुछ लिखने install.js
और नोड के ओएस स्वतंत्र एपीआई और कुछ का उपयोग करने के लिए है child_process.exec()
, जो मैं शायद करने वाला हूं। हालाँकि, npm को छोड़ना वास्तव में अच्छा नहीं होगा।