Windowsでnpm installすると、node-gpyのエラーが出る
Node.jsのパッケージマネージャー npm ですが、素の環境に、ネイティブライブラリをインストールしようとすると、エラーが出ます。
node-gpyを使うモジュールは、ネイティブライブラリのものです。そのため、コンパイルする必要があり、Visual Studioなどのコンパイル環境が必要です。それを知っていれば、エラーが出るのも当然と納得がいくでしょう。
とは言え、npmでは、親切に以下のコマンドを実行すると、コンパイル環境が自動インストールできるようになっています。
npm install --global windows-build-tools
なんとも便利! 以下の環境が自動でインストールされます。
- python 2.7
- Visual Studio Build Tools
改めて、npm install
すれば、正しくライブラリをコンパイルしてインストール出来ます。
トラブルシューティング
ただし、Win10 64bitでは、上記の手順で良かったのですが、以下の環境で試したところ、うまく動きませんでした。
- Windows 7 (32bit)
- npm 5.6
特に、明確な理由はエラーメッセージに出力されません。いろいろ調べた結果、
Win7の.Net Frameworkが古すぎるため、正しく、Build Toolsがインストールされていませんでした。そこで、最新版の.Net Frameworkをインストールする必要があります。
また、Pythonのパスがうまく設定されない問題も起きていました。
npm config set python <パス>
Python2のパスですが、npmでwindows-build-toolsをインストールすると、以下のパスにインストールされていました。
C:\Users\<ユーザー名>\.windows-build-tools\python27
WindowsでNode.jsを使う結論
ちなみに、Windows10(64bit)では上記のような問題は起きなかったです。今回、Windowsの32ビット版で動く環境を作りたかったので、Windows7(32bit)の環境を引っ張り出してきたのが、トラブルの元凶だったようです。
また、Node.jsをWindowsで活用するには、ビルドツールのインストールが必要など、障壁が高い印象。一部のモジュールは、Linux/macOSを念頭に作られているので、仮想環境でLinuxが使えるなら、それが近道かも。