如何在NPM安装期间使用不同版本的python?

我有terminal访问VPS运行centos 5.9和默认的Python 2.4.3安装。 我也通过这些命令安装了Python 2.7.3:(我用make altinstall代替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 

然后我通过这些命令从源代码安装node.js:

 python2.7 ./configure make make install 

问题是,当我使用npm install并尝试安装需要python> 2.4.3的node.js包时,我得到这个错误:

 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 

我应该如何“通过 – python开关指向Python> = v2.5.0”

你可以使用--python选项来像这样的npm:

 npm install --python=python2.7 

或者将其设置为始终使用:

 npm config set python python2.7 

当需要时,Npm将依次将此选项传递给node-gyp。

(注意:我是在Github上打开一个问题的人,将它包含在文档中,因为有太多关于它的问题;-))

在运行npm install之前将python设置为python2.7

Linux的:

 export PYTHON=python2.7 

视窗:

 set PYTHON=python2.7 

对于Windows用户应该这样的工作:

 PS C:\angular> npm install --python=C:\Python27\python.exe 

好的,你已经find了解决scheme。 只是想分享一下对我有用的东西,

我创build了可以帮助我切换python的setpy2别名。

 alias setpy2="mkdir -p /tmp/bin; ln -s `which python2.7` /tmp/bin/python; export PATH=/tmp/bin:$PATH" 

在运行npm install之前执行setpy2 。 开关保持有效直到你退出terminal,之后python被设置回系统默认。

您也可以使用这种技术来处理其他命令/工具。

快速一次使用这个工程,npm install –python =“c:\ python27”