npm config set python してるのに node-gyp で Python のバージョン違いによるエラーが発生する場合の対処法
表題の通り。
環境
コマンドプロンプトからnode-gyp
を叩いたらエラーが出た。
TL; DR
Windowsの環境変数にnpm_config_python
を追加する。 msvs_version
も指定する場合はnpm_config_msvs_version
を追加する。
大文字小文字注意(全部小文字)。
環境変数を設定した後は再起動なり再ログオンなりするべき。
原因
npm-scripts が実行されたときは npm-config の設定が環境変数に npm_config_* として追加されるが、node-gyp
を直接叩いた場合は何らかの理由で追加されていない模様。
おそらく.bin
の実行時はnpm_config_*の環境変数が追加されないということなのだろうが、もしかしたらnvm-windowsとかのバグかもしれない。詳しく知りたい人は調査してください。