Mam dostęp terminalu do VPS z uruchomionym centos 5.9 i domyślnym pythonem 2.4.3. Zainstalowałem również Python 2.7.3 za pomocą tych poleceń: (użyłem make altinstall
zamiast 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
następnie zainstalowałem node.js ze źródła za pomocą tych poleceń:
python2.7 ./configure
make
make install
Problem polega na tym, że kiedy używam npm install
i próbuję zainstalować pakiet node.js, który wymaga Pythona> 2.4.3, pojawia się ten błąd:
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
jak powinienem „przekazać przełącznik --python, aby wskazywał na Python> = v2.5.0” ?
Odpowiedzi:
Możesz użyć
--python
opcji npm, aby:lub ustaw, aby zawsze był używany:
Npm z kolei przekaże tę opcję do węzła-gyp, jeśli zajdzie taka potrzeba.
(uwaga: to ja otworzyłem problem na Githubie, aby uwzględnić go w dokumentacji, ponieważ było tak wiele pytań na ten temat ;-))
źródło
npm config set python python2.7
jest ostatecznym rozwiązaniemnpm install --python=python2
?python2
jest na twojej ŚCIEŻCE $, skorzystaj z niej za wszelką cenę :-)pyenv
Pythona 3 użyłemnpm install --python=/usr/bin/python
ustaw Python na python2.7 przed uruchomieniem instalacji npm
Linux:
Windows:
źródło
export
służy do ustawienia zmiennej środowiskowej, która działa na twoją powłokę i proces potomny.set PYTHON=python2.7
w systemie WindowsDla użytkowników systemu Windows coś takiego powinno działać:
źródło
npm config set python C:\Python27\python.exe
- Właśnie to zrobiłem i działało dobrze, co oznacza, że nie trzeba tego robić za każdym razem, gdy chcesz coś zainstalować.Ok, więc już znalazłeś rozwiązanie. Chciałem tylko podzielić się tym, co było dla mnie tak wiele razy;
Utworzyłem
setpy2
alias, który pomaga mi przełączać Pythona.Wykonaj
setpy2
przed uruchomieniemnpm install
. Przełącznik działa, dopóki nie wyjdziesz z terminala, po czympython
zostanie przywrócony domyślny system.Możesz skorzystać z tej techniki również dla dowolnego innego polecenia / narzędzia.
źródło
dla szybkiego jednorazowego użycia to działa, npm install --python = "c: \ python27"
źródło
Ten działa lepiej, jeśli nie masz Pythona na ścieżce lub chcesz określić katalog :
źródło