在CentOS 5上安装node.js

5 投票
3 回答
6260 浏览
提问于 2025-04-16 23:34

我对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 个回答

0

我遇到了完全一样的问题。最后我编辑了wscript文件,把第222行从这个:

"-pre" if node_is_release == "0" else ""

改成了这个:

""
1

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

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
  • 运行configure时指定python2.7,这样可以覆盖默认的python设置。
  • 创建一个PYTHON环境变量,这样make install就能找到正确版本的python。

(在安装成功之前,我还得一个一个找出并安装缺失的开发模块。)

撰写回答