2011-08-14 7 views
5

CentOS(5)とnode.jsの新機能ですが、仮想サーバーで動作するnode.jsの古いバージョンが既に用意されています。 新しいバージョンをインストールしようとしていますが、CentOSにPython 2.4が必要なのに対し、ノードには2.6以上が必要なので、altinstallを使ってPython 2.7をインストールしました。 ./configureをの内容だCentOS 5にnode.jsをインストールする

/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を実行する前に、バージョン2.7を指すPython用のエイリアスを設定していても、私はまだ、このエラーが出る

#! /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.7ではなくPython2.4を呼び出しています。 '。/ configure'が' wscript'を呼び出す方法を教えてください。 – unutbu

+0

ただ質問を更新しました... – north

+1

問題の原因を確かめるには、 'wscript'を開いて' import sys'と続けて 'print sys.version'を一番上にして、Pythonのバージョンを出力します実際には実行に使用されています。 (ところで、あなたが発見しているように、CentOS/RHEL 5は実際にはかなり古く、6に移動すると頭痛を救うことができます) –

答えて

0

私はこの同じ正確な問題に遭遇しました。私はWScriptのファイルを編集巻き上げ、これからその行(222)に変更:これに...

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

"" 
1

私は希望へのパスを含めるようにbash_profileにPATHを変更しましたpythonのバージョンは、次のようにします。$ PATH:$のHOME/binに

のvi〜/ .bash_profileの
PATH = $ PATHに置き換えます。PATH =は/ usr/local/python272/binにとの$ HOME/binに
〜/ .bash_profileの
は./configure
ソースは、それが正しいPythonのバージョンをピックアップ

を作ります。

WSCRIPT変更する必要はありません、私はCentOSの5.6はPython 2.7.2によ(は/ usr/local/python272に設置)とのNode.jsに0.4.12

5

を使用して、私は「のpython 2.7.3を持っていませaltinstalledバイナリは、 "/usr/local/bin/python2.7"

という名前で "のCentOS 5.xの上で、私はコンパイルして使用してnodejs v0.8.16をインストール:

PYTHON=/usr/local/bin/python2.7 
export PYTHON 
python2.7 configure && make && make install 
  • configureを実行 python2.7オーバーライドでES PYTHON用のenv VARを作成
  • を扱うデフォルトのPythonはmakeが

(私はまだ成功するインストールする前に、1で特定し、開発・モジュールを1つずつ欠けてインストールする必要がありましたパイソンの正しいバージョンを見つけることをインストールすることができます)

+1

このアドバイスは、[ここにリンクされているインストールスクリプト](http://rajaseelan.com/2012/01/28/installing-python-2-dot -7-2-on-centos-5-dot-2 /)は純金です。 py 2.7がインストールされ、node.jsがインストールされています!二度と! – Kato

関連する問題