16
के लिए नोडजेएस सेट पर्यावरण चर सेट child_process.exec
के माध्यम से प्रोग्राम चलाते समय मैं एक पर्यावरण चर सेट करना चाहता हूं। क्या यह संभव है?निष्पादन
मैं env
इस तरह की स्थापना की कोशिश की:
exec('FOO', {'FOO': 'ah'}, function(error, stdout, stderr) {console.log(stdout, stderr, error);});
लेकिन जिसके परिणामस्वरूप संदेश कहा FOO मौजूद नहीं था।
इस का उपयोग कर लेना चाहिए किसी को भी ध्यान दें कि वातावरण चर को निर्दिष्ट इस तरह की जगह वातावरण चर की _entire_ सेट, सहित * किसी भी 'PATH' कि अन्यथा मौजूद हो सकता है *। इसलिए, यदि आप एक env चर सेट करने का प्रयास करते हैं और आपको अचानक उस कमांड के बारे में त्रुटियां मिलती हैं जिन्हें आप निष्पादित करने का प्रयास नहीं कर रहे हैं, यही कारण है कि। यह सब कुछ दस्तावेज से स्पष्ट नहीं है और मुझे थोड़ा सा मेरे सिर खरोंच छोड़ दिया। यदि आप env चर जोड़ना चाहते हैं और प्लेटफ़ॉर्म-अज्ञेयवादी रहना चाहते हैं, तो आप 'process.env' की एक प्रति बना सकते हैं, उसमें अपने परिवर्तन लागू कर सकते हैं, और इसे' child_process.exec' पर भेज सकते हैं। – DanielSmedegaardBuus
आप 'process.env' direclty को भी अपडेट कर सकते हैं। पूर्व: 'process.env [" पथ "] + = path.delimiter + process.cwd() + path.sep +" node_modules "+ path.sep +" .bin "' – mems