Visual Studio 2012(2010ではなく)を搭載したWindows 7マシンでnpm install socket.io
を使用してnode.jsパッケージ(特にsqlite3およびsocket.io)をインストールしようとすると、次のようなエラーが発生しました。
C:\ Program Files(x86)\ MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.Platform.targets(35,5):エラーMSB8020:Visual Studio 2010のビルドツール(プラットフォームツールセット= 'v100 ') 見つからない。 v100ビルドツールを使用してビルドするには、[プロジェクト]メニューをクリックするか、ソリューションを右クリックして、[VC++プロジェクトの更新...]を選択します。 Visual Studio 2010をインストールして、Visual Studio 2010ビルドツールを使用してビルドします。
もう1つのオプションは、msvs_versionを毎回指定する代わりに構成を変更することです。
npm config set msvs_version 2012
Visual Studio Express 2013とVisual Studio Community 2015の両方がインストールされています。
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.Cpp.Platform.targets(64,5): error MSB8020: The build tools for v140 (Platform Toolset = 'v140') cannot be found. To build using the v140 build tools, please install v140 build tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-click the solution, and then selecting "Upgrade Solution...". [G:\work\cinema\node_modules\engine.io\node_modules\bufferutil\build\bufferutil.vcxproj]
を取得していました
その理由は、 https://nodejs.org からダウンロードしたWindows用の最新のNode.jsには、古いnpm
v2(および古いnode-gyp
その中npm
v2)。
Node.jsの内部npm
を更新する必要がありました(これもnode-gyp
):
(open console as an administrator)
cd "C:\Program Files\nodejs"
npm install npm@latest
npm config set msvs_version 2013
動作するようになりました(当面はVS 2013を使用しているようです)
DO N'TインストールしたVisual Studioのバージョンにnode-gyp
を依存させたい場合(またはVSをインストールしていない場合)、windows-build-tools
をインストールします(以下を参照)。これにより、両方のエラーが解消され、インストールされているVisual Studioのバージョンをアップグレードする際の今後の問題を回避できます。
[〜#〜] do [〜#〜]インストールされているVisual Studioのバージョンにnode-gyp
を依存させたい場合は、npm config set msvs_version 2015
を、2015
の代わりにバージョンタグに置き換えます。有効なバージョンのタグは:2015
、2014
、2013
、110
、100
windows-build-tools
を使用した修正node-gypインストール手順 ごとに、次のこともできます
[〜#〜] elevated [〜#〜]コマンドシェルからのnpm install --global --production windows-build-tools
これにより、node-gyp
で必要なstrictly Microsoft Visual C++ Build Tools(これはコンパイルのためにVisual Studioの代わりに使用されます)がインストールされ、msvs_version
がインストールされたバージョンに適切に設定されます。
インストール後、msvs_version
によって設定されたwindows-build-tools
がオーバーライドされていないことを確認する必要があります。 npm config list
を実行すると、msvs_version
が; globalconfig C:\Users\Username\AppData\Roaming\npm\etc\npmrc
の下に表示されます。そうでない場合は、windows-build-tools
で設定された値がオーバーライドされているため、オーバーライドされた値は削除する必要があります。 npm config delete msvs_version
はオーバーライドされた値を削除し、ビルドツールによって設定された値がグローバル構成セクションの下に表示されます。