Visual Studio 2015でNPMパッケージの復元を無効にするにはどうすればよいですか?


82

Visual Studio 2015でpackage.jsonを使用してプロジェクトを開くと、npmインストールが自動的に開始され、インストールが完了するまでVSが応答しません。

コマンドラインからnpminstall自分自身を実行する方がはるかに好きです。Visual Studioの実行を停止するにはどうすればよいですか?

回答:


76

Visual Studio 2017にアップグレードする場合(無料の「CommunityEdition」で問題ありません)、VSチームは、プロジェクトが開かれたときにnpmの実行を停止するオプションを追加しました。これは、[ツール] / [オプション] / [プロジェクトとソリューション] / [Webパッケージ管理] / [パッケージの復元]の下にあります。Project Openとpackage.jsonSaveで別々にNPM(およびBower)の復元を無効にすることができます。

また、node.jsプロジェクトタイプ(NTVS)の場合、現在VS2017では自動パッケージ復元動作のみが完全に無効になっていることにも注意してください。

編集:上記の回答はVisual Studio 2019にも適用されます。バウアーのサポートは廃止されましたが、メニューオプションは同じ場所にあります。


恒久的な解決策はありますか?私は、NPMが再び有効に、VS2019とブームをアップグレードした後、これを適用した
amartin1911

78

これを試して:

  • ツールを開く->オプション
  • プロジェクトとソリューション/外部Webツールを選択します
  • 4つのパスすべてのチェックを外します
  • [OK]をクリックします

ソリューションを閉じるなどは必要ないようです。NPMとBowerの機能はVSで無効になりましたが、コマンドラインで正常に機能します(npm、bowerなどをグローバルにインストールしている場合)。出力ウィンドウにエラーメッセージが表示される場合がありますが、ビルドエラーや警告は表示されません。

通常の操作に戻すには、外部Webツールに戻り、右下の[デフォルトにリセット]をクリックします。
私は公開でこれを試していません-正常に公開するにはデフォルトに戻す必要があるかもしれません。その時点でエラーが発生した場合は試してください。


1
出力にエラーが表示されますが、たとえばTask Runner ExplorerがGulpを見つけられないなどですが、これは予想されることだと思います。これは確かにトリックを行います、ありがとう:)
Geir Sagberg 2015

28
このオプションを無効にできないのはかなりばかげています。:(
ショーンアンダーソン

4
+1 VSは、gitとnpmの統合なしでは十分に低速です。JS関連のプロジェクトにはVSCode / Sublime / Webstormを使用することをお勧めします。
cchamberlain 2016年

1
VS Community2017の使用15.5.6。これは実際に動作しますが、私はなかった、それはNPMパッケージの復元を停止させるために、Visual Studioのを再起動する必要があります。
rsenna 2018

恒久的な解決策はありますか?私は、NPMが再び有効に、VS2019とブームをアップグレードした後、これを適用した
amartin1911

4

Visual Studio 2015 Update 2でこの問題が修正されました!Update 2をインストールすれば、準備は完了です。

直接ダウンロード:http//go.microsoft.com/fwlink/?LinkId = 691129
Update 2リリースノート:https//www.visualstudio.com/news/releasenotes/vs2015-update2-vs

編集:「修正済み」は完全に正確ではない可能性があり、すべてのユーザーに対して完全に修正されているとは限りません。たぶん、私たちは皆が経験していることを突き止めることができます。明確にするために、私の経験は次のとおりです。

  • Update 2より前は、VSは.slnを開くたびに「npminstall」を実行していましたが、これは対処が非常に困難でした。
  • Update 2の後、VSは特定のシナリオで「npminstall」を実行します。これは(私の経験では)許容範囲です。

私の経験では、パッチ後のVSは、.slnを開くと、package.jsonの依存関係のいずれかがnode_modulesフォルダーにない場合(またはフォルダー自体がない場合)に「npminstall」を実行します。

'npm install'を無効にすることはできないため、 'fixed'は完全に正しくない可能性がありますが、以前のようにすべての起動で無効になるわけではないので、私はそれが勝利だと考えています。人々はこれが行動であることを確認できますか、それとも私たちは異なる行動を経験していますか?


このリンクは質問に答えることができますが、ここに答えの本質的な部分を含めて、参照用のリンクを提供することをお勧めします。リンクされたページが変更されると、リンクのみの回答が無効になる可能性があります。-レビューから
Alessandro Cuttin

1
リンクには答えが含まれていません。ソフトウェアアップデートのダウンロードのためだけにあります。アップデートノートではなく、ダウンロードに直接リンクするようにリンクを変更しました。それは受け入れられますか?
アシュリンアレン

2
私はそれを修正したとは言いません、彼らは画面がロックしたりクラッシュしたりする可能性を低くしました、しかしあなたが手動でnpmを扱うならば、それはvs自動復元と戦います、そしてそれを無効にするオプションはまだありません。
npjohns 2016

Visual Studio 2015 Update 2を使用していますが、npminstallとgulpを実行しようとしています。これで問題が解決するかどうかはわかりません。
ジェイミーマックリンドル2016年

私は答えを編集しましたが、私が言及した特定のシナリオで「npm install」が実行されているのを見ていますか、それとも他の時間に実行されていますか?Gulpについては、掘り下げてみます...現在のセットアップではWebpackを使用しており、タスクランナーエクスプローラーが設定されている場合にのみVSがWebpackを実行します。TREがGulpを実行するように構成されていなくても、VSはGulpを実行していますか?
アシュリンアレン2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.