2012-04-06 21 views
39

मैं node.js. को स्थापित करने का प्रयास कर रहा हूं। मैंने this tutorial का पालन किया और मैं बीच में फंस गया हूं।Node.js Cygwin समर्थित नहीं

जब मैं अपने सिग्विन टर्मिनल में ./configure लिखता हूं तो यह कहता है "साइगविन समर्थित नहीं है"। अग्रिम धन्यवाद कृपया मेरी मदद करें।

+2

, [दुर्भाग्य से इस क्यू प्रभावी रूप से फिर से 1.5 साल बाद stackoverflow.com/questions/17297422/trouble-with-starting-node-js-from-a-cygwin में पूछा गया था -console] (http://stackoverflow.com/questions/17297422/trouble-with-starting-node-js-from-a-cygwin-console#comment-36204702); जैसा कि टिप्पणी बताती है, वहां कुछ उपयोगी चीजें हैं, लेकिन नई चीजों के लिए, कृपया इसे पहले पूछे जाने पर यहां रखें। –

उत्तर

37

मेरे अनुभव में नोड cygwin में ठीक चलता है, क्या नोड आमतौर पर EINVAL त्रुटियाँ हैं जो एक है MINTTY हो रहा है में टर्मिनल इम्यूलेशन 'त्वचा' जो साइगविन के लिए डिफ़ॉल्ट है। मुझे अभी भी यकीन नहीं है कि इन EINVAL त्रुटियों में 100% क्यों होता है लेकिन निम्नलिखित कदम और चाल हैं जिनका उपयोग मैं नोड काम करने के लिए करता हूं।

मेरी /cygwin/home/{username}/.bashrc में मैं इतना cygwin यह

export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/" 

पा सकते हैं पथ के लिए नोड जोड़ते आप नोड के एक 32 बिट संस्करण चलाते हैं:

export PATH=$PATH:"/cygdrive/c/Program Files (x86)/nodejs/" 

dos2unix '/cygdrive/c/Program Files/nodejs/npm' 

इस बात चल फ़ाइल में:

तब मैं व्यवस्थापक मोड में cygwin लांच तो चलाने linux मुद्दों के लिए खिड़कियों के बिना NPM रन बनाने के लिए एस और अधिकांश एनपीएम पैकेज MINTTY में ठीक चलेंगे, हालांकि प्रत्येक बार और थोड़ी देर में आप कुछ एनपीएम पैकेजों के साथ कर्म के रूप में ईआईएनवीएएल मुद्दों में भाग लेंगे। इसके अलावा, आप MINTTY में सीधे दुभाषिया चलाने के लिए सक्षम नहीं होगा, कभी भी मैं इन बातों को मैं चलाने के क्या करना चाहते हैं:,

cygstart /bin/bash 

यह एक देशी cygwin bash.exe विंडो खुलेगा यहाँ से आप दुभाषिया या एक चलाने किसी भी परेशानी पैकेज कमांड जिसके परिणामस्वरूप एक EINVAL होता है। यह थोड़ा बेकार है कि आपको ऐसा करना है, लेकिन मैं शायद ही कभी इस दिन का उपयोग करता हूं, और मुझे इसका उपयोग न करने के लिए MINTTY बहुत पसंद है।

भी ध्यान रखें कि आप सिर्फ तरह कुछ चलाकर MINTTY में किसी भी एक लाइन नोड कोड चला सकते हैं: कि रन नोड में

node -e "console.log('hello node')" 
+1

के रूप में मुझे शायद ध्यान दिया जाना चाहिए कि डॉस 2unix को सिगविन इंस्टॉलेशन प्रक्रिया या सिगविन के माध्यम से स्थापित करने की आवश्यकता होगी apt-CYG। और नोड को सामान्य रूप से विंडोज इंस्टालर का उपयोग करके स्थापित करने की आवश्यकता होगी। – troy

+0

एनएमपी एक cmd फ़ाइल नहीं है? Cmd फ़ाइल पर dos2unix का उपयोग क्यों करें? – CMCDragonkai

+3

यह है। लेकिन एक एक्सटेंशन के बिना "एनपीएम" खोल स्क्रिप्ट भी है, जिसे आप "npm" कमांड का उपयोग करते समय सिगविन द्वारा निष्पादित किया जाता है। असल में मेरे पास कोई सुराग नहीं है, उस शेल स्क्रिप्ट में विंडोज़ लाइन एंडिंग क्यों होती है। –

-1

विंडोज इंस्टालर को पकड़ो और चलाएं।
सिग्विन प्रॉम्प्ट प्रकार node
देखें कि यह काम करता है या नहीं।

+0

मैंने इसे डाउनलोड किया है, इसे सिग्विन टर्मिनल से निकाला है, लेकिन एक ही समस्या होती है। इंस्टालर फ़ाइल को कहीं और इंस्टॉल करता है इसलिए मैंने सिग्विन टर्मिनल से सब कुछ किया और साइगविन में नोडजेज फ़ाइल घर/डेल/नोडजेज़/फ़ोल्डर में स्थापित होती है जहां मेरे पास है ./configure कमांड लिखने के लिए, लेकिन फिर भी वही परिणाम – Mj1992

+0

मैन, यदि आप वास्तव में साइगविन के साथ रहना चाहते हैं .... इंस्टॉलर को साइगविन के भीतर से न चलाएं। विंडोज़ से करो। जब आप साइगविन को फायर करते हैं तो सुनिश्चित करें कि नोड आपके पथ में है (सी: \ प्रोग्राम फ़ाइलें \ nodejs)। – mihai

+1

यह एक से अधिक मशीनों पर मेरे लिए ठीक काम करता है। बस सिगविन स्थापित करें, फिर अपने मूल विंडोज इंस्टालर का उपयोग करके नोड स्थापित करें। जब आप 'कौन सा नोड' या 'कौन सा एनपीएम' टाइप करते हैं, तो यह उस स्थान को हल करेगा जहां नोड स्थापित किया गया था (शायद यह काम करता है क्योंकि नोड सिगविन को देखता है और सिग्विन के $ पाथ में अपना पथ जोड़ता है)। – thure

5

कंसोल 2 का उपयोग करें, यह आपको सीएलआई शैल के टैब बनाने के लिए अनुमति देता है। ऐसा लगता है कि कंसोल 2 के अंदर चल रहे सिग्विन मुझे नोड आरईपीएल का उपयोग करने की इजाजत देता है। मुझे पता नहीं क्यों है: पी

जोड़ने के लिए इस गाइड का उपयोग cygwin को console2:
http://blog.msbbc.co.uk/2009/11/configuring-console-2-and-bash-with.html

+0

मैंने अभी देखा [Google खोज (नोड-जेएस साइगविन)] (https://www.google.com/search?q=Node-js + साइगविन) 5 ढूंढें http://nlighteneddevelopment.com/content/nodejs-cygwin में यह भी है (कंसोल 2 का उपयोग करके) उनके फिक्स –

-1

विंडोज से, चलाने Cygwin.bat (Cygwin टर्मिनल के बजाय) तो: देखना और this पर उत्तर this पर उत्तर दें प्रभावी ढंग से एक ही सवाल 1.5 साल बाद पूछा गया।

+1

यह लिंक प्रश्न का उत्तर दे सकता है, लेकिन कोड की मूल बातें यहां शामिल की जानी चाहिए और लिंक संदर्भ के लिए होना चाहिए। – worldofjr

8

सिर्फ NPM पैकेज इंस्टॉल करने वालों के लिए ट्रॉय के जवाब का एक सरल व्युत्पन्न के रूप में:

  1. Windows इंस्टॉलर पैकेज में स्थापित Node.js
  2. export PATH=$PATH:"/cygdrive/c/Program Files/nodejs/" के साथ इसे PATH में जोड़ें (जाहिर है कि आपने इसे स्थापित करने के साथ Node.js की स्थापना निर्देशिका के पथ को प्रतिस्थापित किया है)।
  3. विंडोज संस्करण में एक वर्तमान बग है जिसे mkdir -p ~/AppData/Roaming/npm चलाकर तय किया जा सकता है। यह सभी विंडोज़ के लिए एक बग है और सिगविन नहीं। भविष्य के किसी बिंदु पर, आपको अब यह नहीं करना पड़ेगा, लेकिन कमांड के पास कोई नकारात्मक दुष्प्रभाव नहीं होना चाहिए।
  4. इसका परीक्षण करें। उदाहरण के लिए, npm install pretty-diff -g
  5. नए स्थापित सॉफ़्टवेयर को चलाने में सक्षम होने के लिए, आपको अपने पैथ में इंस्टॉल स्थान जोड़ना होगा। आप इन्हें npm bin -g और npm bin (-g ध्वज "वैश्विक" स्थापना स्थान के साथ पा सकते हैं)।

वास्तव में ऐसा कुछ भी नहीं है जो आपको सिगविन में चलाने के लिए करना है (हालांकि मैं यह नहीं कह सकता कि सब कुछ काम करता है)।

+0

सिर्फ एनपीएम के संबंध में चीजों को सरल बनाने के लिए +1 (मुझे अभी इसकी आवश्यकता है)। एक अद्यतन के रूप में, नवीनतम इंस्टॉलर नोड एक्सई और वैश्विक मॉड्यूल क्षेत्र दोनों को पीएटीएच सेट करता है, इसलिए यदि आपको कोई खुलासा हुआ तो आपको अपने गोले को फिर से शुरू करना होगा। चरण 2, 3, और 5 अब छोड़े जा सकते हैं।स्थानीय एनपीएम इंस्टॉल (बिना '-g' के बिना) एक सिग्विन खोल के माध्यम से बनाई गई वर्तमान निर्देशिका में' node_modules' को लिखें, इसलिए उपयोगकर्ता को स्वयं को स्वयं को समझने में सक्षम होना चाहिए। मुझे काम करने के लिए 'आवश्यकता() 'के लिए उन्हें पैथिफाइफ़ करने की आवश्यकता नहीं है। – juanitogan

0
ब्योर्न के सुझाव ( using Console2) और Soyuka के अन्य नाम ( steps here), मेरे Node.js v0.10.13 और NPM v1.3.2 के साथ

अब Babun v1.02, एक Cygwin वितरण के तहत काम कर रहे हैं। enter image description here

+0

सुनने के लिए बहुत बढ़िया है! दरअसल मैं जल्द ही कोशिश करता हूं और वास्तव में आशा करता हूं कि यह काम करता है। लेकिन आप एक नोड.जेएस संस्करण का उपयोग क्यों कर रहे हैं जो स्पष्ट रूप से 1.3 साल पुराना है? - आपको दिया गया "15 दिसंबर '14 को 17:07 बजे उत्तर दिया गया" तो जब नोड "2014.10.20 संस्करण 0.10.33 (स्थिर)" नवीनतम था लेकिन आप "node.js v0.10.13" का उपयोग कर रहे हैं, इसलिए (दिनांकित) " 2013.07.0 9 संस्करण 0.10.13 (स्थिर) ", आधिकारिक http://nodejs.org/changelog.html उद्धृत करते हैं। और यह कितना अच्छा काम करता है, जब सभी सॉफ़्टवेयर (प्रतीत होता है कि बस बाबुन, नोड और एनपीएम, सही है?), आप वर्तमान स्थिर संस्करणों का उपयोग करते हैं? -स सामान्य और आम तौर पर आवश्यक चीज होगी। –

0

खिड़कियों के लिए, बस bash.exe cmd में, चलाने के लिए इतना है कि आप एक पार्टी cmd सांत्वना सीधे के साथ चारों ओर काम करते हैं, जो सभी नोड पूरी तरह से काम का समर्थन कर सकता है हो सकता था।

C:\Users\郷>bash 

郷@CHIGIX ~ 
$ node 
> 
इसके बजाय यहां जारी आदर्श होगा के रूप में की
+0

ओपी पहले से ही सिग्विन टर्मिनल का उपयोग कर रहा है। cmd.exe से बैश शुरू करने से प्रश्न का उत्तर कैसे मिलता है? –

+0

साइगविन से अनुकरण बस कई exe प्रोग्राम फ़ाइलों को cygwin स्थापना निर्देशिका में डाल दिया गया है, जिसका लिनक्स सामान्य कमांड/निष्पादन योग्य बाइनरी फाइलों के समान नाम है। इसलिए, आप निश्चित रूप से cmd.exe से bash कमांड वातावरण प्राप्त कर सकते हैं, जो आमतौर पर 'C: \ cygwin64 पर होता है \ bin \ bash.exe'। –

+0

मैंने सिग्विन टर्मिनल जैसे उपयोग करते समय एक अजीब व्यवहार का अनुभव किया है कोई एनपीएम प्रगति आउटपुट या यो प्रगति पट्टी नहीं, लेकिन इस समाधान ने मेरी मदद की। अपने पथ में cygwin64/bin जोड़ने के लिए सुनिश्चित करें हालांकि अन्यथा यह समाधान सहायक नहीं होगा –

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