我有终端访问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>的node.js包时2.4.3我收到此错误:
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&gt; = v2.5.0”?
答案 0 :(得分:464)
您可以使用--python
选项,如下所示:
npm install --python=python2.7
或将其设置为始终使用:
npm config set python python2.7
Npm会在需要时将此选项传递给node-gyp。
(请注意:我是那个在Github上打开一个问题的人,因为关于它的问题很多,因此包含在文档中;-))
答案 1 :(得分:52)
在运行npm install之前将python设置为python2.7
Linux的:
export PYTHON=python2.7
视窗:
set PYTHON=python2.7
答案 2 :(得分:33)
对于Windows用户,这样的事情应该有效:
PS C:\angular> npm install --python=C:\Python27\python.exe
答案 3 :(得分:7)
好的,所以你已经找到了解决方案。只是想多次分享对我有用的东西;
我创建了setpy2
别名,这有助于我切换python。
alias setpy2="mkdir -p /tmp/bin; ln -s `which python2.7` /tmp/bin/python; export PATH=/tmp/bin:$PATH"
在运行setpy2
之前执行npm install
。在您退出终端之前,交换机一直有效,之后python
被设置回系统默认值。
您也可以将此技术用于任何其他命令/工具。
答案 4 :(得分:1)
快速一次使用此作品, npm install --python =“c:\ python27”
答案 5 :(得分:0)
如果您的路径上没有python 或想要指定目录,
//for Windows
npm config set python C:\Python27\python.exe
//for Linux
npm config set python /usr/bin/python27