2011-08-14 18 views
5

Soy bastante nuevo en CentOS (5) y también en node.js, pero ya tengo una versión anterior de node.js para trabajar en mi servidor virtual. Ahora estoy tratando de instalar una versión más nueva, y sé que CentOS necesita Python 2.4 mientras que el nodo necesita 2.6 o más reciente, así que instalé Python 2.7 usando altinstall.Instalación de node.js en CentOS 5

Pero incluso si me puse un alias para Python que apunta a la versión 2.7 antes de ejecutar ./configure, sigo teniendo este error:

/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 

Ese es el contenido de ./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 $?" 

Y en la parte superior de wscript hay la siguiente línea: "#!/Usr/bin/env python". También traté de reemplazarlo con otra cosa, aunque creo que debería funcionar cuando utilizo un alias de Python

¿Alguna idea de lo que tengo que hacer para que esto funcione?

Gracias!

+0

Parece que './Configure' o quizás' wscript' todavía está llamando a Python2.4 en lugar de a Python2.7. ¿Puedes mostrarnos cómo './Configure' llama a' wscript'? – unutbu

+0

Acabo de actualizar la pregunta ... – north

+1

Para estar seguro del origen del problema, puede abrir 'wscript' y pegar' import sys' seguido de 'print sys.version' en la parte superior, imprimiendo así la versión de Python _actually_ se usa para la ejecución. (Por cierto, mientras descubres, CentOS/RHEL 5 es bastante viejo, cambiar a 6 podría ahorrarte muchos dolores de cabeza.) –

Respuesta

0

Me encontré con este mismo problema exacto. Terminé de editar el archivo wscript y cambió esa línea (222) de esta:

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

... a esto:

"" 
1

he cambiado el PATH en .bash_profile para incluir la ruta a la deseada versión del pitón de la siguiente manera:

vi ~/.bash_profile
reemplazar PATH = $ PATH: $ HOME/bin
con PATH =/usr/local/python272/bin: $ PATH: $ HOME/bin
source ~/.bash_profile
./configure
hacen

Se recoge la versión correcta pitón. No es necesario cambiar wscript

estoy en CentOS 5.6, pitón 2.7.2 (instalado en/usr/local/python272) y utilizando Node.js 0.4.12

5

He Python 2.7.3 'altinstalled 'en Centos 5.x, con el binario llamado "/usr/local/bin/python2.7"

que compilar e instalar v0.8.16 nodejs usando:

PYTHON=/usr/local/bin/python2.7 
export PYTHON 
python2.7 configure && make && make install 
  • corriendo configurar con python2.7 overrid es el manejo de
  • crear una pitón env var pitón por defecto permite make install para encontrar la versión correcta del pitón

(que todavía tenía que identificar e instalar faltan módulos de desarrollo, uno por uno antes de la instalación tendría éxito)

+1

Este consejo, junto con [el script de instalación vinculado aquí] (http://rajaseelan.com/2012/01/28/installing-python-2-dot -7-2-on-centos-5-dot-2 /) es oro puro; ¡consiguieron instalar py 2.7 y luego instalaron node.js! Doble hurra! – Kato

Cuestiones relacionadas