【发布时间】:2011-10-26 18:29:16
【问题描述】:
我对 CentOS (5) 和 node.js 还是很陌生,但我已经有一个旧版本的 node.js 可以在我的虚拟服务器上工作。 现在我正在尝试安装更新的版本,并且我知道 CentOS 需要 Python 2.4 而 node 需要 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 别名时工作
任何想法我需要做些什么才能让它工作?
谢谢!
【问题讨论】:
-
看起来
./configure或者wscript仍在调用 Python2.4 而不是 Python2.7。你能告诉我们./configure是如何调用wscript的吗? -
为了确定问题的根源,您可以打开
wscript并粘贴import sys,然后在顶部粘贴print sys.version,从而打印出Python的版本实际 用于执行。 (顺便说一句,正如您所发现的,CentOS/RHEL 5 实际上已经很老了;迁移到 6 可以为您省去很多麻烦。) -
谢谢,尼古拉斯。不确定是否要更新 CentOS。如前所述,我远非真正熟悉它......