在CentOS 5上安装node.js.

时间:2011-08-14 12:14:18

标签: python node.js centos

我对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别名时起作用

我需要做些什么才能让它发挥作用?

谢谢!

3 个答案:

答案 0 :(得分:5)

我在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

(在安装成功之前,我仍然需要逐个识别并安装缺少的开发模块)

答案 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 ""

......对此:

""