npm install
node-gypの再構築が必要であるため、次のビルドエラーがスローされました。
MSB8020:v120のビルドツール(プラットフォームツールセット= 'v120')が見つかりません。 v120ビルドツールを使用してビルドするには、v120ビルドツールをインストールしてください。または、[プロジェクト]メニューを選択するか、ソリューションを右クリックして[ソリューションの再ターゲット]を選択し、現在のVisual Studioツールにアップグレードすることもできます。
Msvs_versionパラメーターを使用します:npm install --msvs_version=2015
Msvs_versionパラメーターが機能しない場合、おそらくVisual C++ 2015ビルド環境がインストールされていないことが原因です。
VS2015の代替として、Microsoftがリリースした Visual C++ Build Tools 2015 をインストールできます。
Visual C++ 2015ビルド環境がインストールされたので、msvs_version paramを介してnpmに使用するように指示できます。
npm install --msvs_version=2015
オプションで、コマンドプロンプトでmsvs_versionを指定する代わりに、npmrcまたはpackage.jsonにmsvs_versionパラメーターを追加することにより、常にmsvs_versionパラメーターを含めるようにnpmを構成できます。
npmrc
PowerShellを開き、npm config set msvs_version 2015
を実行します。これにより、このパラメーターがユーザーのnpmrcファイルに追加されます。以降、このユーザーとしてnpm install
を実行するたびに、msvs_version=2015
パラメーターが自動的に含まれます
必要に応じて、異なるWindowsアカウントでログインする予定がある場合、グローバルフラグ
npm config set msvs_version 2015 --global
を含めることができ、この設定をマシン上のすべてのアカウントに適用したい
package.json
プロジェクトのpackage.jsonファイルを変更して、以下を含めます。
"config": {
"msvs_version": 2015
}
以降、npm install
を実行するたびに、このプロジェクトではmsvs_version=2015
paramが自動的に含まれます
記事の改訂
2Toadの答えにコメントを追加したかったのですが、stackoverflowでは許可されません。次のコマンドを使用して、msvs_versionをグローバルに設定できます。
npm config set msvs_version 2015 --global
これにより、各プロジェクトの設定オブジェクトに保存する必要がなくなります。
他の修正で問題が解決されなかったため、この回答を共有します。私は同じエラーを抱えていましたが、msvsパラメータを設定していました:
npm install --msvs_version=2015
問題を解決していませんでした。私が何をしようとも、ツールセットの間違った場所を探していることがわかりました。
簡単に言えば、MSBuildはVisual Studioにパッケージ化され、.NETにはパッケージ化されなくなったことを学びました。案の定、PATH変数にこのエントリがありました。
C:\Windows\Microsoft.NET\Framework\v4.0.30319;
その結果、間違った(古い)バージョンのMSBuildが呼び出されていました。このエントリを削除し、VS2015に関連する次のパスを追加しました。
C:\Program Files (x86)\MSBuild\14.0\Bin\
問題が解決しました。
私はすでにすべてのVSバージョンをインストールするのに2日間費やしています...
npm install oracledb --msvs_version=2015
多くのエラーをすべて返します。
[..]node-gyp\6.9.1\include\node\v8.h(18): fatal error C1083[..]
を使用して
npm install oracledb --msvs_version=2013
多くの警告を返し、コンパイルしますが、その後は正しく動作しません。
[..]warning C4995: 'v8::Value::ToUint32'[..]
これは、npmモジュールでの私の最悪の経験です。時間の無駄:/
バージョンを2015に設定しても役に立ちませんでした。代わりに2013に設定してみてください。
npm config set msvs_version 201
または
npm config set msvs_version 2015