こんにちは、カヨです。
【問題解決 / 方法 / 手順】
今までプロジェクトの「npx gulp」コマンドの後、4秒くらいで立ち上がっていたのに急に10秒以上かかるようになった。立ち上がるので作業はできるが、複数のプロジェクトを行ったり来たりするのでとても困りました。PCの起動から初期立ち上げの際の遅延だったけど結構面倒だったので原因を探して解決したので同じ現象が起来てる方のお役に立てれば幸いです。
✔︎プロジェクトの立ち上げにGulpを使用している人
✔npx gulpが急に遅くなった人
✔Gulpでのタスク実行から完了が10秒以上かかる人
前提
・Windows 11
・タスクランナー「Gulp」
・セキュリティ「Microsoft Defender」
原因
【直接原因:トリガー】npx gulpが急に遅い原因はセキュリティだった
✔ セキュリティソフトのMicrosoft Defende が node_modules をスキャンしていた
npx gulp は node_modules 内のプラグインを大量に読み込んで処理します。その作業が Microsoft Defende からするとスキャン(検知)対象になる。
✔ Microsoft Defende はなぜ node_modules の読み込みを検知対象にしたのか
「大量のスクリプトファイルを一気に読み込む動き」が、ウイルスやマルウェアの挙動に似ているから。
・JavaScriptファイルを一気に読み込む
・外部から読み込んだファイルを実行しようとする
・しかも node_modules は大量&複雑なコードが多い
⇒ これってまさに「ウイルスが活動する典型的なパターン」にも見えるんです👮♂️
✔️ スクリプトの大量読み込み
✔️ 外部実行
✔️ 頻繁なディスクアクセス
⇒ こういった動作は「安全でも疑ってかかる」のがセキュリティソフトの仕様、ってわけです!
【背景原因:ルーツ】なぜ急に npx gulp が遅くなったのか
✔ セキュリティソフトの交代で、 node_modules への扱いが変わったため
Windowsの中で動いていたセキュリティソフトが入れ替わるタイミングが起きたのが問題が発生したきっかけになったということですね。
✔ 今回のセキュリティソフトの入れ替わりは何と何?
🔁 くわしく流れを整理すると:
・McAfeeがウイルス対策を担当
・Windows Defenderは自動で「無効化」されていた(仕様)
2. McAfeeの体験版が期限切れ
・アンインストールしなくても、機能停止扱いになる
・ Windows Defenderが自動的に「復帰」し、再び保護を担当し始める
3. Defenderは node_modules のような大量スクリプトに対してスキャンを行う設計
・これまではMcAfeeがスキャン対象にしていなかった or 軽かった
・Defenderは「スキャン対象」とみなして初回アクセスでガッツリ検査
4. 結果:Gulp起動の最初の1回だけ異常に遅くなった
・でも2回目以降はキャッシュ済み or スキャン済みでスムーズ
問題解決
とにもかくにも遅延をなくしたい
✔【直接原因:トリガー】npx gulpが急に遅い原因はセキュリティだった
⇒この原因を取り除くことで解決できます!
「DefenderのスキャンでGulpが遅い」を除外設定で対応していきましょう。
問題の解決方法・手順「除外設定をする」
✔ 使用されているセキュリティソフトを確認する
⇒ デスクトップ検索窓「設定」 > 設定
⇒ プライバシーとセキュリティWindows セキュリティ
⇒ ウイルスと脅威の防止
⇒ 現在の保護機能のプロバイダーは?「プロジェクトの管理」
⇒ 「ウイルス対策」の項目でMicrosoft Defender が有効か確認

ここで Microsoft Defender が有効であれば以下の対策ができるはずです。
✔ Gulpが遅いプロジェクトの検知を除外設定するため設定画面へ
⇒ 「Microsoft Defender ウイルス対策」をクリック > 「アプリを開く」が表示されるのでクリック
✔ ウイルスと脅威の防止
⇒ 設定の管理
✔ ウイルスと脅威の防止の設定
⇒ 画面の一番したの項目まで移動
⇒ 除外の「除外の追加または削除」をクリック
✔ 除外
⇒ 除外の追加 > 除外対象に当てはまるものを選択 > ボタンの下に選択したものが表示されれば除外OKです

今回、筆者はプロジェクトごと除外したので「フォルダ」を選択して、プロジェクト1つ1つ除外しました。
✔ 問題が解決したか確認作業
設定完了したら、パソコンを再起動して npx gulp をして立ち上げてみる。
これで今まで通りのスピードで立ち上がれば完了です。セキュリティソフトのnode_moduleが検知のためにスキャンしていたのが原因であればこれで問題が解決するはずです。
お疲れさまでした!
npx gulpが急に遅い原因はセキュリティだった件の対応が完了しました✨