我对CentOS(5)和node.js都很陌生,但我已经有一个旧版本的node.js可以在我的虚拟服务器上运行。 现在我正在尝试安装更新版本,我知道CentOS需要Python 2.4而节点需要2.6或更新版本,所以我使用altinstall安装了Python 2.7。
但即使我在运行./configure之前为Python设置了一个指向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 :(得分:5)
我在Centos 5.x上运行了python 2.7.3'altinstalled',其二进制文件名为“/usr/local/bin/python2.7”
我使用:
编译并安装nodejs v0.8.16PYTHON=/usr/local/bin/python2.7
export PYTHON
python2.7 configure && make && make install
(在安装成功之前,我仍然需要逐个识别并安装缺少的开发模块)
答案 1 :(得分:1)
我更改了bash_profile中的PATH,以包含所需版本的python的路径,如下所示:
vi~ / .bash_profile
替换PATH = $ PATH:$ HOME / bin
与PATH = / usr / local / python272 / bin:$ PATH:$ HOME / bin
来源〜/ .bash_profile
的./configure
使
它选择了正确的python版本。无需更改wscript
我在CentOS 5.6,python 2.7.2(安装在/ usr / local / python272中)并使用node.js 0.4.12
答案 2 :(得分:0)
我遇到了同样的问题。我结束了编辑wscript文件并更改了该行(222):
"-pre" if node_is_release == "0" else ""
......对此:
""