windows-build-toolsが終らない場合の解決方法

Node.jsからJavaのAPIを使う

上記の記事に書いてある、windows-build-toolsのインストール(npm install --global --production windows-build-tools、Windows10の場合)をした時に、次のようにPythonをインストールしたところで止まる(コンソールが一向に進まない)現象が発生しました。

windows-build-toolsが終わらない

強制終了しても、node-gypのインストールでエラーが出ます。このnode-gypのインストールをできるようにした手順です。

ちなみにStack Overflowなどでは、僕が正常にインストールできた時よりも前に同様の問題が発生しているようなので、最近発生したわけではなく、何らかの条件で発生してそうですね。

インストールの終了と状況の確認

Ctrl+Cでインストールを強制終了します。

次のコマンドを実行すると、windows-build-toolsがインストールできていることが確認できます。

npm list --global --depth=0
windows-build-toolsのインストール結果

また、C:\Users\<ユーザー名>\.windows-build-tools\python27にPythonがインストールされていることも確認できます。

Pythonのインストール結果

解決方法

次のコマンドを実行し、npmのコンフィグファイルの場所を確認します。

> npm config get globalconfig
C:\Users\<ユーザー名>\AppData\Roaming\npm\etc\npmrc

npmrcファイルがない場合

  1. 次のコマンドを実行する
     npm config --global edit
    
  2. エディタが開くので何も変更せずに閉じる
    C:\Users\<ユーザー名>\AppData\Roaming\npm\etc\npmrcが作成される
  3. 次のコマンドでファイルの中身を空にする
     echo "" > C:\Users\<ユーザー名>\AppData\Roaming\npm\etc\npmrc
    

npmrcをテキストエディタで開き次の行を追加します。

 python=C:\Users\<ユーザー名>\.windows-build-tools\python27\python.exe
  • npmrcを新規作成した場合は1行目に追加する
  • UTF-8(BOMなし)で保存すること

これでnode-gypのビルドが通るようになります。

試したこと

現象が発生する環境と発生しなかった環境の差分をみていくなかで、npmrcファイルがあるかないかでした。なのでnpmrcファイルを作成してから実行してもダメでした。

次のようにnpm bin --globalでPATHが無いよと言われたので、Windowsの環境変数PATHに追加しましたがこれでもダメでした。

npm bin

エラーはPythonがないとかなので、Windowsの環境変数PATHにPythonのパスを追加してみてもダメ。

結果的にはnpmrcにPyhtonのパスを追加でビルドできました。

このエントリーをはてなブックマークに追加
にほんブログ村 IT技術ブログへ

コメント

メールアドレスが公開されることはありません。 が付いている欄は必須項目です