windows-build-toolsが終らない場合の解決方法
上記の記事に書いてある、windows-build-toolsのインストール(npm install --global --production windows-build-tools
、Windows10の場合)をした時に、次のようにPythonをインストールしたところで止まる(コンソールが一向に進まない)現象が発生しました。
![windows-build-toolsが終わらない](https://moewe-net.com/wp-content/uploads/2021/06/not-completed-windows-build-tools.jpg)
強制終了しても、node-gyp
のインストールでエラーが出ます。このnode-gyp
のインストールをできるようにした手順です。
ちなみにStack Overflowなどでは、僕が正常にインストールできた時よりも前に同様の問題が発生しているようなので、最近発生したわけではなく、何らかの条件で発生してそうですね。
インストールの終了と状況の確認
Ctrl+Cでインストールを強制終了します。
次のコマンドを実行すると、windows-build-tools
がインストールできていることが確認できます。
![windows-build-toolsのインストール結果](https://moewe-net.com/wp-content/uploads/2021/06/windows-build-tools-e01.jpg)
また、C:\Users\<ユーザー名>\.windows-build-tools\python27
にPythonがインストールされていることも確認できます。
![Pythonのインストール結果](https://moewe-net.com/wp-content/uploads/2021/06/windows-build-tools-e02.jpg)
解決方法
次のコマンドを実行し、npmのコンフィグファイルの場所を確認します。
npmrcファイルがない場合
- 次のコマンドを実行する
- エディタが開くので何も変更せずに閉じる
→C:\Users\<ユーザー名>\AppData\Roaming\npm\etc\npmrc
が作成される - 次のコマンドでファイルの中身を空にする
npmrcをテキストエディタで開き次の行を追加します。
- npmrcを新規作成した場合は1行目に追加する
- UTF-8(BOMなし)で保存すること
これでnode-gyp
のビルドが通るようになります。
試したこと
現象が発生する環境と発生しなかった環境の差分をみていくなかで、npmrcファイルがあるかないかでした。なのでnpmrcファイルを作成してから実行してもダメでした。
次のようにnpm bin --global
でPATHが無いよと言われたので、Windowsの環境変数PATHに追加しましたがこれでもダメでした。
![npm bin](https://moewe-net.com/wp-content/uploads/2021/06/windows-build-tools-e03.jpg)
エラーはPythonがないとかなので、Windowsの環境変数PATHにPythonのパスを追加してみてもダメ。
結果的にはnpmrcにPyhtonのパスを追加でビルドできました。