如何在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”