How to use a different version of python during NPM install?

I have terminal access to a VPS running centos 5.9 and default python 2.4.3 installed. I also installed python 2.7.3 via these commands: (I used make altinstall instead of 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

then I installed node.js from source via these commands:

    python2.7 ./configure
    make
    make install

The problem is, when I use npm install and try to install a node.js package which requires python > 2.4.3 I get this 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

how should I "pass the --python switch to point to Python >= v2.5.0"?

You can use --python option to npm like so:

    npm install --python=python2.7

or set it to be used always:

    npm config set python python2.7

Npm will in turn pass this option to node-gyp when needed.

(note: I'm the one who opened an issue on Github to have this included in the docs, as there were so many q about it ;-) )

From: stackoverflow.com/q/20454199

Back to homepage or read more recommendations: