2012-08-13 9 views
68

के रूप में पहचाना नहीं गया है, मैं node.js ऐप के लिए वातावरण स्थापित करने का प्रयास कर रहा हूं। लेकिन मुझे "NODE_ENV" मिल रहा है आंतरिक या बाहरी कमांड, ऑपरेट करने योग्य कमांड या बैच फ़ाइल के रूप में पहचाना नहीं गया है। हर बार त्रुटि।"NODE_ENV" को आंतरिक या बाहरी कमांड, ऑपरेट करने योग्य कमांड या बैच फ़ाइल

इसका क्या अर्थ है और मैं इस समस्या को कैसे हल कर सकता हूं?

मैं विंडोज का उपयोग कर रहा हूं और NODE_ENV=development सेट करने की कोशिश की लेकिन कोई भाग्य नहीं है।

सहायता! अग्रिम में धन्यवाद।

उत्तर

118

ऐसा लगता है अपने त्रुटि कुछ इस तरह (जो लिनक्स में काम करता है)

NODE_ENV=development node foo.js 

को चलाने के लिए एक प्रयास से आता है की तरह विंडोज में बराबर

SET NODE_ENV=development 
node foo.js 

होगा एक ही आदेश खोल में चल रहा है । आपने बताया कि NODE_ENV सेट नहीं किया गया था, लेकिन यह स्पष्ट नहीं था कि आपने इसे कब/कब निष्पादित किया था।

+0

धन्यवाद जिम, मैंने इसे कमांड लाइन में इस्तेमाल किया और package.json फ़ाइल से हटा दिया। लेकिन मैं उसके बाद एक और में भाग गया। ऐसा लगता है कि नोड मॉड्यूल पूरी तरह से विंडोज़ द्वारा समर्थित नहीं हैं। bcrypt और gyp के साथ एक और त्रुटि मिली। – krozero

+0

यहां कोई विशेषज्ञ नहीं है, लेकिन bcrypt विंडोज़ के लिए समर्थन दिखाता है, लेकिन ओपनएसएसएल की आवश्यकता होती है, सुनिश्चित नहीं है कि इससे मदद मिलती है।यदि नहीं, तो एक नया प्रश्न पोस्ट करना चाह सकता है क्योंकि परिदृश्य थोड़ा बदल गया है। –

+1

हालांकि यह वास्तव में काम कर रहा है, मुझे लगता है कि @ सुसान-स्टैक ने सही उत्तर दिया - एक क्रॉस प्लेटफार्म समाधान और खिड़कियों पर काम करने के लिए लाइन को नहीं बदल रहा है लेकिन अन्य ओएस तोड़ दिया। – justabuzz

85

विंडोज़ के लिए & कमांड के बीच में भी उपयोग करें। की तरह,

"scripts": { 
    "start": "SET NODE_ENV=development & nodemon app/app.js", 
    } 
+1

और मेरे लिए काम नहीं किया। मैं इसके बजाय इस्तेमाल किया; – Reda

+1

जो वास्तव में मैं देख रहा था! –

+1

आपको बहुत बहुत धन्यवाद, इससे बहुत मदद मिली। – kobe

34
  1. npm install "cross-env" मॉड्यूल।
  2. कोड को cross-env NODE_ENV=development node foo.js के रूप में संशोधित करें। फिर आप npm run build जैसे चला सकते हैं।
+7

कृपया 'package.json' –

45

मैंने इसके लिए एक मॉड्यूल लिखा: win-node-env

यह NODE_ENV.cmd बनाता है जो NODE_ENV पर्यावरण चर सेट करता है और शेष आदेश और उसके तर्कों के साथ एक बाल प्रक्रिया को जन्म देता है।

बस इसे इंस्टॉल करें (वैश्विक स्तर पर), और अपने एनपीएम स्क्रिप्ट कमांड चलाएं, इसे स्वचालित रूप से उन्हें काम करना चाहिए।

npm install -g win-node-env 
+2

में निर्भरताओं के लिए 'क्रॉस-एनवी' शामिल करना न भूलें यह काम करता है! और मुझे किसी भी आदेश को बदलने की ज़रूरत नहीं थी। यह जवाब है। –

+0

यह सबसे आसान एवर – mrTurkay

+0

है यह मेरे लिए काम करता है। धन्यवाद! – ArCiGo

8
set NODE_ENV=production & nodemon app/app.js 

NODE_ENV कारण होगा अंत में एक अंतरिक्ष को रोकने के लिए:

process.env.NODE_ENV == 'production'; //false 
process.env.NODE_ENV == 'production '; //true 

एक टिप्पणी here में उल्लेख किया है, यह बजाय का उपयोग करें:

NODE_ENV=production&& nodemon app/app.js 
+0

'NODE_ENV =" उत्पादन "के बारे में क्या? – TheFrost

2

उपयोग win-node-env , इसका उपयोग करने के लिए बस आप पर कमांड चलाएं आर cmd या power shell या git bash:

यह
npm install -g win-node-env 

के बाद सब कुछ लिनक्स की तरह है।

संबंधित मुद्दे

 संबंधित मुद्दे