2011-08-14 12 views
5

पर node.js को स्थापित करना मैं CentOS (5) और node.js पर बहुत नया हूं, लेकिन मेरे वर्चुअल सर्वर पर काम करने के लिए मुझे पहले से ही node.js का पुराना संस्करण मिला है। अब मैं एक नया संस्करण स्थापित करने की कोशिश कर रहा हूं, और मुझे पता है कि सेंटोस को पायथन 2.4 की आवश्यकता है जबकि नोड को 2.6 या नए की आवश्यकता है, इसलिए मैंने पाइथन 2.7 को altinstall का उपयोग करके स्थापित किया।CentOS 5

लेकिन फिर भी अगर मैं अजगर कि कॉन्फ़िगर चलाने से पहले संस्करण 2.7 के लिए अंक के लिए एक उपनाम निर्धारित करते हैं, मैं अभी भी इस त्रुटि मिलती है:

/root/node/wscript: error: Traceback (most recent call last): 
    File "/root/node/tools/wafadmin/Utils.py", line 274, in load_module 
    exec(compile(code, file_path, 'exec'), module.__dict__) 
    File "/root/node/wscript", line 222 
    "-pre" if node_is_release == "0" else "" 
     ^
SyntaxError: invalid syntax 

कॉन्फ़िगर की सामग्री दी गई है कि:

#! /bin/sh 

# v8 doesn't like ccache 
if [ ! -z "`echo $CC | grep ccache`" ]; then 
    echo "Error: V8 doesn't like cache. Please set your CC env var to 'gcc'" 
    echo " (ba)sh: export CC=gcc" 
    exit 1 
fi 

CUR_DIR=$PWD 

#possible relative path 
WORKINGDIR=`dirname $0` 
cd "$WORKINGDIR" 
#abs path 
WORKINGDIR=`pwd` 
cd "$CUR_DIR" 

"${WORKINGDIR}/tools/waf-light" --jobs=1 configure $* 

exit $?" 

और wscript के शीर्ष पर निम्न पंक्ति है: "#!/Usr/bin/env python"। मैंने इसे किसी और चीज़ के साथ बदलने की भी कोशिश की, हालांकि मुझे लगता है कि इसे पाइथन एलियास

का उपयोग करते समय काम करना चाहिए, यह काम करने के लिए मुझे क्या करने की ज़रूरत है?

धन्यवाद!

+0

ऐसा लगता है कि '।/Config' या शायद 'wscript' अभी भी Python2.7 के बजाय Python2.4 को कॉल कर रहा है। क्या आप हमें दिखा सकते हैं कि 'w /cript'' wscript' को कैसे कॉल कर रहा है? – unutbu

+0

बस प्रश्न को अद्यतन किया गया ... – north

+1

समस्या के स्रोत के बारे में सुनिश्चित करने के लिए, आप 'wscript' खोल सकते हैं और शीर्ष पर' प्रिंट sys.version' के बाद 'आयात sys' चिपका सकते हैं, इस प्रकार पायथन के संस्करण को प्रिंट कर सकते हैं निष्पादन के लिए _actually_ का उपयोग किया जा रहा है। (वैसे, जैसा कि आप खोज रहे हैं, CentOS/RHEL 5 वास्तव में बहुत पुराना है; 6 पर जाने से आपको बहुत सारे सिरदर्द बचा सकते हैं।) –

उत्तर

0

मैं इसी सटीक समस्या में भाग गया। मैं संपादन WScript फ़ाइल को बंद कर और उस लाइन (222) इस से बदल दिया है:

"-pre" if node_is_release == "0" else "" 

... यह करने के लिए:

"" 
1

मैं bash_profile में पथ बदल वांछित करने के लिए पथ शामिल करने के लिए अजगर के संस्करण इस प्रकार है:

vi ~/.bash_profile
की जगह पथ = $ पथ: $ पथ:: $ घर/बिन$ HOME/bin
पथ =/usr/स्थानीय/python272/bin साथ स्रोत ~/.bash_profile
कॉन्फ़िगर

यह सही अजगर संस्करण ऊपर उठाता है बनाते हैं। बदलने के लिए कोई ज़रूरत नहीं

WScript

मैं, अजगर 2.7.2 (/ usr/स्थानीय/python272 में स्थापित) और का उपयोग कर Node.js 0.4.12

5

मैं है अजगर 2.7.3 'altinstalled CentOS 5.6 पर हूँ 'Centos 5.x पर, द्विआधारी के साथ "/usr/local/bin/python2.7"

नामित मैं संकलन और का उपयोग कर NodeJS v0.8.16 स्थापित:

PYTHON=/usr/local/bin/python2.7 
export PYTHON 
python2.7 configure && make && make install 
  • कॉन्फ़िगर चल python2.7 overrid के साथ तों डिफ़ॉल्ट अजगर
  • से निपटने एक Python env var बनाने मेकअप स्थापित

(मैं अभी भी स्थापित करने से पहले की पहचान करने और लापता विकास मॉड्यूल एक स्थापित करने के लिए एक के बाद सफल था अजगर का सही संस्करण को खोजने के लिए अनुमति देता है)

+1

यह सलाह [यहां स्थापित लिपि स्थापित] के साथ [http://rajaseelan.com/2012/01/28/installing-python-2-dot -7-2-ऑन-सेंटोस -5-डॉट -2 /) शुद्ध सोना है; पाई 2.7 स्थापित हो गया और फिर node.js स्थापित हो गया! डबल हुरेय! – Kato