pero - ¿Cómo usar una versión diferente de python durante la instalación de NPM?
python-shell node (5)
Tengo acceso de terminal a un VPS ejecutando centos 5.9 y por defecto instalado Python 2.4.3. También instalé Python 2.7.3 a través de estos comandos: (Utilicé make altinstall
lugar de make install
)
wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz
tar -xf Python-2.7.3.tgz
cd Python-2.7.3
./configure
make
make altinstall
luego instalé node.js desde la fuente a través de estos comandos:
python2.7 ./configure
make
make install
El problema es que cuando uso npm install
y trato de instalar un paquete node.js que requiere python> 2.4.3 obtengo este error:
gyp ERR! configure error
gyp ERR! stack Error: Python executable "python" is v2.4.3, which is not supported by gyp.
gyp ERR! stack You can pass the --python switch to point to Python >= v2.5.0 & < 3.0.0.
gyp ERR! stack at failPythonVersion (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:125:14)
gyp ERR! stack at /usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:114:9
¿Cómo debería "pasar el modificador --python para apuntar a Python> = v2.5.0" ?
Ok, ya has encontrado una solución. Solo quería compartir lo que me ha sido útil tantas veces;
setpy2
alias setpy2
que me ayuda a cambiar Python.
alias setpy2="mkdir -p /tmp/bin; ln -s `which python2.7` /tmp/bin/python; export PATH=/tmp/bin:$PATH"
Ejecute setpy2
antes de ejecutar la npm install
. El interruptor permanece en vigencia hasta que salga de la terminal, después de lo cual, python
vuelve al estado predeterminado del sistema.
También puede utilizar esta técnica para cualquier otro comando / herramienta.
Para los usuarios de Windows algo así debería funcionar:
PS C:/angular> npm install --python=C:/Python27/python.exe
Puedes usar la opción --python para npm así:
npm install --python=python2.7
o configurarlo para ser utilizado siempre:
npm config set python python2.7
Npm a su vez pasará esta opción a node-gyp cuando sea necesario.
(Nota: Yo soy el que abrió un problema en Github para tener esto incluido en los documentos, ya que había muchas preguntas al respecto ;-))
configure python a python2.7 antes de ejecutar la instalación de npm
Linux:
export PYTHON=python2.7
Windows:
set PYTHON=python2.7
para un uso rápido de una vez esto funciona, npm install --python = "c: / python27"