在CentOS 5上安装node.js
我对CentOS(5)和node.js都还很陌生,不过我已经在我的虚拟服务器上成功运行了一个旧版本的node.js。现在我想安装一个更新的版本,我知道CentOS需要Python 2.4,而node需要2.6或更高的版本,所以我通过altinstall安装了Python 2.7。
但是即使我在运行./configure之前设置了一个指向2.7版本的Python别名,我还是遇到了这个错误:
/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别名应该是可以工作的。
有没有什么建议可以让我解决这个问题?
谢谢!
3 个回答
我遇到了完全一样的问题。最后我编辑了wscript文件,把第222行从这个:
"-pre" if node_is_release == "0" else ""
改成了这个:
""
我在bash_profile文件中修改了PATH,加入了我想要的python版本的路径,具体步骤如下:
首先,打开终端,输入命令:
vi ~/.bash_profile
然后,把原来的这行:PATH=$PATH:$HOME/bin
替换成:PATH=/usr/local/python272/bin:$PATH:$HOME/bin
接着,输入命令:source ~/.bash_profile
然后,继续输入:./configure
最后,输入:make
这样就能正确找到我想要的python版本了,不需要去改wscript文件。
我使用的是CentOS 5.6,python版本是2.7.2(安装在/usr/local/python272),还在用node.js 0.4.12。
我在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
- 运行configure时指定python2.7,这样可以覆盖默认的python设置。
- 创建一个PYTHON环境变量,这样make install就能找到正确版本的python。
(在安装成功之前,我还得一个一个找出并安装缺失的开发模块。)