在 CentOS 5 上安装 node.js

Posted

技术标签:

【中文标题】在 CentOS 5 上安装 node.js【英文标题】:Installing node.js on CentOS 5 【发布时间】: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。如前所述,我远非真正熟悉它...... 【参考方案1】:

我在 Centos 5.x 上安装了 python 2.7.3 'altinstall',二进制文件名为“/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 环境变量允许 ma​​ke install 找到正确的 python 版本

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

【讨论】:

这个建议和the install script linked here 是纯金;安装了 py 2.7,然后安装了 node.js!万岁!【参考方案2】:

我更改了 bash_profile 中的 PATH 以包含所需 python 版本的路径,如下所示:

vi ~/.bash_profile 替换 PATH=$PATH:$HOME/bin 使用 PATH=/usr/local/python272/bin:$PATH:$HOME/bin 来源 ~/.bash_profile ./配置 制作

它会选择正确的 python 版本。无需更改 wscript

我在 CentOS 5.6、python 2.7.2(安装在 /usr/local/python272 中)并使用 node.js 0.4.12

【讨论】:

【参考方案3】:

我遇到了同样的问题。我最终编辑了 wscript 文件并从此更改了该行 (222):

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

...到这个:

""

【讨论】:

以上是关于在 CentOS 5 上安装 node.js的主要内容,如果未能解决你的问题,请参考以下文章

CentOS 5上如何安装yum

如何在CentOS 5/6上安装EPEL 源

使用 YUM 在 Centos 5.5 上安装 Mono

用php 5.3.3在centos 5.5上安装phpmyadmin

在 CentOS 5 上安装 node.js

如何在centos上安装部署was8.5