Windowsでnpm installの赤いエラーに悩まされているアナタへ
Node.js, Windows, npm, 開発環境
WindowsでNode.jsの開発環境を整えるのは多くの人にとって鬼門だったかと思います。
VC++のなんちゃらをインストールせよとかWindows SDKが別途必要とか言われてもよくわからないし、32bitはあーで64bitはこーでとか、手探りでやってみてもnpm install
で赤いエラー出まくるし、使いもしない古いVisual Studio 2010とかインストールさせられてHDDにゴミだけ残るし、こんなんやってられっか!!となってもおかしくない状況が続いていました。少なくとも僕の中では。
npm install
はほとんどの場合ライブラリをダウンロードするだけですが、ものによってはダウンロード後にビルドが発生するものがあります。
環境が適切に構築されていないとこれが赤いエラーの原因になるんですね。まじぶちきれそうになります。
ところが最近ではMicrosoftも重い腰を上げたのか、(いつの間にか)ガイドラインを示してくれる時代になりました。
どこからともなくツイッターで流れてきたこの情報を基にやってみたら僕のWindowsも赤いエラーを吐かなくなりましたので、ここにメモを残します。
(Windows 7 32bit, 10 64bitで検証済み)
まずはNode.jsをインストール
Node.js
Windows環境の場合はnpm3がセットになってるv5.x.x Stable
がいいですね。(2015年12月現在)
npm3はnode_modulesのフォルダーをフラットに展開してくれるので、Windowsに特有のフォルダーツリーが長すぎて削除できない問題を回避できます。
Gitをインストール
Git
npm install
のときにライブラリによってはgit
コマンドを使う場合があったかと思います。
インストール時に、"Use Git from the Windows Command Prompt"を選択しておくと色々捗ります。
Microsoftのガイドラインに従ってVC++なんちゃらとPythonをインストールしてnpm config set
Configuring your Windows development environment
上記ページはとても参考になります。英語が読めれば目を通しておいて損はありません。
今回はこの中からとりあえず万人におすすめできそうなやり方を抜粋します。
- Install VC++ Build Tools Technical Preview
- (日本語訳: VC++ Build Tools Technical Previewをインストールしてください。)
- Visual Studio 2015(VS Codeではない)が既にインストールされているとインストールできませんので、Visual Studioは一旦潔くアンインストールするのが良いでしょう。
カスタムインストールする場合でも"Windows 8.1 SDK"のチェックを外してはいけません。必須です。- (2016-1-25追記)カスタムインストールを選択して"Windows 8.1 SDK"と"Windows 10 SDK"のチェックを入れます。両方必須らしいです。
- インストールするために.NET Framework 4.5.1以上が必要です。
- Install Python 2.7 (v3.x.x is not supported), and run
npm config set python python2.7
- Launch cmd,
npm config set msvs_version 2015 --global
(this is instead ofnpm install [package name] --msvs_version=2015
every time.) - SO MUCH npm install
- (日本語訳: じゃんじゃん
npm install
しちゃって。)
- (日本語訳: じゃんじゃん
node-gypをグローバルインストール
npm install node-gyp -g
必要なのかどうかはわかりませんが個人的にはおまじないのつもりでやります。これがもしエラーになるならコマンドプロンプトを管理者権限で実行してみてください。
ビルドでコケやすいライブラリで試してみる
上記ページでは以下のライブラリでちゃんとビルドされるか試してみてね、と書いてありますのでやってみます。(原文: Here are a few packages you can try installing to see if your environment is set up properly.)
- bson
- bufferutil
- kerberos
- node-sass
- sqlite3
- phantomjs
- utf-8-validate
適当なフォルダーを作り、コマンドプロンプトで一気にインストールしてみます。
npm install bson bufferutil kerberos node-sass sqlite3 phantomjs utf-8-validate
赤いエラーが出なければOKです。
ここまでやってもダメなら(2015-12-27追記)
最近セットアップしたWindows 10 64bitでは、ここまでやってもエラーが発生しました。
その場合の解決方法は、Visual Studio 2015 Community Editionをインストールすることです。
EnterpriseでもCodeでもありません、Visual Studio Communityをダウンロードしてください。
ちなみに、インストールの際はカスタムインストールを選択し、チェックは全て外してOKです。
その後もう一度「ビルドでコケやすいライブラリで試してみる」をやってみてください。
僕はこれでエラーが一切出なくなりました。
以上です、ありがとうございました。