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