2011-08-14 325 views
5

我對CentOS(5)和node.js很新,但是我已經有一箇舊版本的node.js在我的虛擬服務器上工作。 現在我試圖安裝一個更新的版本,並且我知道CentOS需要Python 2.4,而節點需要2.6或更新版本,所以我使用altinstall安裝了Python 2.7。在CentOS 5上安裝node.js

但是即使我設置別名爲Python是運行./configure之前指向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 

那的./configure的內容:

#! /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」。我也嘗試用別的東西代替它,但我認爲它應該在使用Python別名時工作

任何想法我需要做什麼才能使它工作?

謝謝!

+0

它看起來像'./configure'或者'wscript'仍然在調用Python2.4而不是Python2.7。你能告訴我們如何./configure調用'wscript'嗎? – unutbu

+0

剛剛更新了問題...... – north

+1

爲了確定問題的根源,您可以打開'wscript'並在頂部粘貼'import sys',然後加上'print sys.version',從而打印出Python的版本_actually_被用於執行。 (順便說一句,正如你發現的那樣,CentOS/RHEL 5實際上已經很老了,移至6可以爲你節省很多麻煩。) –

回答

0

我遇到了同樣的問題。我卷繞編輯WScript的文件,並改變從該該行(222):

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

...這樣:

"" 
1

我改變在.bash_profile中的路徑包括路徑爲所需的Python版本如下:

VI〜/ .bash_profile中
代替PATH = $ PATH:$ HOME/bin中
與PATH =的/ usr /本地/ python272 /斌:$ PATH:$ HOME /箱
源在〜/ .bash_profile
的./configure
使

它拿起正確的Python版本。無需更改WScript的

我在CentOS 5.6,Python的2.7.2(安裝在/ usr /本地/ python272)和如何使用Node.js 0.4.12

5

我已經蟒蛇2.7.3「altinstalled 「在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 ES默認的Python處理
  • 創建一個Python的環境變量允許make install的發現蟒蛇的正確版本

(我仍然有一個安裝之前識別並安裝缺少的開發模塊一個會成功)

+1

此建議,以及[此處鏈接的安裝腳本](http://rajaseelan.com/2012/01/28/installing-python-2-dot -7-2-on-centos-5-dot-2 /)是純金;安裝了py 2.7,然後安裝了node.js!雙重萬歲! – Kato