そのため、Node.jsを機能させようとしています。もちろん、宣伝されているほど簡単ではありません:)
私のコンピューターには2つのpythonバージョンがありますが、Node.jsは古いバージョン2.7でしか動作しないようです。エラーが発生した場合、PYTHON
このエラーのある環境変数:
Error: Can't find Python executable "python2.7", you can set the PYTHON env variable.
それでは、必要に応じて変数を構成しました。
C:\Users\Jakub>set PYTHON=C:\MYSELF\Programs\Python2.7\python.exe
C:\Users\Jakub>echo %PYTHON%
C:\MYSELF\Programs\Python2.7\python.exe
変数が実際に設定されているかどうかを確認するためにecho
を使用したことがわかります。残念ながら、そのnpm
がそれを読み取ることができず、エラーが再び表示されます。 %PYTHON%
変数を設定した直後の完全なログは次のとおりです。
C:\Users\Jakub>npm install minecraft-protocol
\
> [email protected] install C:\Users\Jakub\node_modules\minecraft-protocol\node_modules\ursa
> node-gyp rebuild
|
C:\Users\Jakub\node_modules\minecraft-protocol\node_modules\ursa>if not defined npm_config_node_gyp (node "C:\Program Files (x86)\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\no
de_modules\node-gyp\bin\node-gyp.js" rebuild ) else (rebuild)
gyp ERR! configure error
gyp ERR! stack Error: Can't find Python executable "python2.7", you can set the PYTHON env variable.
gyp ERR! stack at failNoPython (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:103:14)
gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:64:11
gyp ERR! stack at FSReqWrap.oncomplete (evalmachine.<anonymous>:95:15)
最も安定した解決策は、python
npm内部値を実際のパスに設定することです。
npm config set python C:\Programs\Python2.7\python2.7.exe
これにより、すべての環境変数と%PATH%
がらくたをして、pythonがインストールされていればどこでも開始します。
TL; DR python2.7.exeという名前のpython.exeのコピーまたはエイリアスを作成します
My python 2.7は次のようにインストールされました
D:\ app\Python27\python.exe
どのように設定(および検証)しても、常にこのエラーが発生しましたPYTHON= env変数:
gyp ERR!スタックエラー:Python実行可能ファイル「python2.7」が見つかりません。PYTHON= env変数を設定できます。 gyp ERR!スタックfailNoPythonで(C:\ Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\configure.js:103:14)
これは、node-gypのconfigure.jsでpython実行可能ファイルが次のように解決されたためです。
var python = gyp.opts.python || process.env.PYTHON || 'python'
そして、gyp.opts.pythonの値が 'python2.7'であることが判明したため、process.env.PYTHONがオーバーライドされました。
Node-gypが探していたpython.exe実行可能ファイルのエイリアスを作成して、これを解決しました:
D:\app\Python27>mklink python2.7.exe python.exe
この操作には管理者権限が必要です。
Windowsの場合は環境変数を設定した後にターミナルを再度開きますが、Linuxの場合はターミナルを再起動する必要はありません。
これは私のために働いた:
npm config set python C:\Users\<username>\.windows-build-tools\python27\python.exe
パスをpython実行可能ファイルに設定します。このヘルプを期待してください:-)