我对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
#! /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别名时应该可以工作
任何想法,我需要做什么才能使这个工作?
谢谢!
解决方法:
我在Centos 5.x上运行了python 2.7.3’altinstalled’,其二进制文件名为“/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运行configure会覆盖默认的python处理
>创建PYTHON env var允许make install查找正确版本的python
(在安装成功之前,我仍然必须逐个识别并安装缺少的开发模块)