OneDrive配下の node_modules を「PCには残すが、クラウドへは同期しない」設定は、2026年7月19日時点では一般提供された機能として利用できません。MicrosoftはRoadmap ID 567470で、WindowsとMac向けの特定フォルダー除外機能を発表しており、管理者が組織共通のfolder exclusion rulesを定義できるようになる予定です。ただし、現在の状態は「In development」で、一般提供は2026年8月予定です。対応するOneDrive同期クライアントのビルドや管理ポリシー名も、まだ公表されていません。(Microsoft)
そのため、今すぐ node_modules などをOneDrive同期から確実に外すには、開発プロジェクト自体をOneDriveフォルダーの外へ移す方法が最も安全です。現在利用できる「特定の種類のファイルをアップロードから除外」ポリシーはファイル名や拡張子を対象にするもので、特定フォルダー全体を除外する機能ではありません。(Microsoft Learn)
この記事では、現在実行できる対処方法、2026年8月に予定されている新機能、WindowsとMacの管理者設定、組織展開前に確認すべき制限を具体的に解説します。
OneDriveで特定フォルダーを同期対象外にする方法の結論
目的に応じて、選ぶべき機能は次のように異なります。
| 方法 | PCに残る | クラウドに残る | 2026年7月時点 | 用途 |
|---|---|---|---|---|
| Roadmap ID 567470のフォルダー除外 | 〇 | × | 開発中 | node_modulesなどをローカル専用にする |
| 開発場所をOneDrive外へ移す | 〇 | × | 利用可能 | 現時点で最も確実な方法 |
| ファイル種類のアップロード除外 | 〇 | × | 利用可能 | 特定のファイル名や拡張子を除外する |
| OneDriveの「フォルダーの選択」 | × | 〇 | 利用可能 | クラウドのフォルダーをPCに置かない |
| ファイル オンデマンド | 必要時のみ | 〇 | 利用可能 | PCのディスク使用量を減らす |
.gitignore | 〇 | OneDriveには影響なし | 利用可能 | Gitリポジトリからファイルを除外する |
特に間違えやすいのが、OneDriveの「フォルダーの選択」です。チェックを外したフォルダーはPCから削除されますが、OneDrive上には残ります。したがって、「ローカルには残し、クラウドには置かない」という目的には使えません。(マイクロソフトサポート)
ファイル オンデマンドも、クラウド上のデータをオンライン専用にしてPCの容量を節約する機能です。クラウドへのアップロード自体を止めるものではありません。(マイクロソフトサポート)
Roadmap ID 567470で実装されるフォルダー除外機能
Microsoftが公開したRoadmap ID 567470の機能名は「OneDrive: Exclude specific folders from syncing」です。公式情報で確定している内容は次のとおりです。(Microsoft)
| 項目 | 公表内容 |
|---|---|
| 機能 | 特定フォルダーをOneDrive同期から除外する |
| 動作 | フォルダーをデバイス上に残し、OneDriveにはアップロードしない |
| 対象OS | Windows、Mac |
| 利用者設定 | ユーザーが特定フォルダーを除外できる |
| 管理者設定 | 組織共通のフォルダー除外ルールを定義できる |
| 想定用途 | PowerShellモジュール、Visual Studio設定、node modulesなど |
| 提供範囲 | Worldwide Standard Multi-Tenant |
| リリース段階 | General Availability |
| 提供予定 | 2026年8月 |
| 現在の状態 | In development |
この機能が一般提供されれば、OneDrive配下にプロジェクトを置いたまま、次のようなフォルダーだけをローカル専用にできる可能性があります。
project
├─ src
├─ package.json
├─ package-lock.json
└─ node_modules ← OneDriveにはアップロードしない
ソースコードやロックファイルはOneDriveやGitで保護し、再生成可能な依存パッケージだけをローカルに残す、といった使い分けが可能になる見込みです。
対応するOneDriveビルドは未公表
2026年7月19日時点で、Roadmapには必要なOneDrive同期クライアントのビルド番号が記載されていません。
Microsoft Learnのリリースノートでは、WindowsとmacOSのProduction Ringとして2026年7月10日公開の 26.119.0622.0003 が掲載されています。しかし、同ビルドの説明にはRoadmap ID 567470のフォルダー除外機能は記載されていません。そのため、対応ビルドは現時点では特定できません。(Microsoft Learn)
また、Microsoft 365 Roadmapの提供日は予定であり、内容や時期は変更される可能性があります。2026年8月という日付だけを基準に、全端末へ自動展開する計画を立てるのは避けるべきです。(Microsoft)
現時点で公表されていない設定項目
管理者が実際にルールを配布するために必要な、次の仕様はまだ公開されていません。
- WindowsのGPO名、レジストリ名、Intune設定名
- Macの構成プロファイル名やplistキー
- フォルダー名、相対パス、絶対パスのどれを指定するか
*などのワイルドカードを利用できるか- 大文字と小文字を区別するか
- 指定できるルール数の上限
- ユーザー設定と管理者設定の優先順位
- 既にクラウドへ同期済みのフォルダーを除外した場合の動作
- フォルダーを除外対象へ移動、または名前変更した場合の動作
- OneDrive個人用アカウントへの対応
- SharePoint同期ライブラリへの対応
- Windowsのフォルダーバックアップとの組み合わせ
- Government CloudなどStandard Multi-Tenant以外への提供時期
公式ドキュメントが公開されるまでは、Roadmapの説明からレジストリ名やplistキーを推測して設定しないことが重要です。
今すぐnode_modulesをOneDrive同期から除外する方法
現時点で最も確実な方法は、開発プロジェクトをOneDriveの同期ルート外へ移すことです。
WindowsではCドライブ直下などに開発用フォルダーを作る
たとえば、次のような場所を開発ワークスペースにします。
C:\src\project-name
C:\work\project-name
D:\development\project-name
次のようなOneDrive配下には置きません。
C:\Users\ユーザー名\OneDrive\project-name
C:\Users\ユーザー名\OneDrive - 組織名\project-name
WindowsのOneDriveフォルダーバックアップが有効な環境では、デスクトップ、ドキュメント、ピクチャがOneDriveへリダイレクトされていることがあります。その場合、見た目が通常のドキュメントフォルダーでも、実際にはOneDrive同期対象です。Documents\Projectsではなく、C:\srcなど明確に対象外の場所を利用します。Microsoftの管理ポリシーでは、Documents、Pictures、DesktopをOneDriveへ自動的に移動できるため、組織管理PCでは特に確認が必要です。(Microsoft Learn)
MacではOneDrive配下ではない開発用フォルダーを使う
Macでは、Finder上のOneDriveフォルダーとは別に、次のような開発用フォルダーを作成します。
~/Developer/project-name
~/Projects/project-name
プロジェクトの保存場所を変更した後は、ターミナルで現在地を確認できます。
pwd
表示されたパスにOneDriveの同期領域が含まれていないことを確認してください。
すでにOneDrive配下にあるプロジェクトの安全な移行手順
大量の node_modules があるプロジェクトを、そのままドラッグして移動すると、OneDriveが大量削除や大量変更として処理することがあります。次の順序で移行すると安全です。
- ソースコードをGitへコミットし、リモートリポジトリへプッシュするか、別の場所へバックアップします。
- Visual Studio Code、Visual Studio、Node.jsの開発サーバー、ターミナルなどを終了します。
- OneDrive外に新しい開発フォルダーを作ります。
- Gitリポジトリを新しい場所へクローンするか、ソースコードと設定ファイルだけをコピーします。
- 新しい場所で依存パッケージを再インストールします。
- ビルド、テスト、起動確認が完了してから、OneDrive側の旧プロジェクトを削除します。
package-lock.json があるnpmプロジェクトでは、次のように再構築できます。
cd C:\src\project-name
npm ci
Macでは次のようになります。
cd ~/Developer/project-name
npm ci
npm ci は既存の package-lock.json または npm-shrinkwrap.json を必要とします。ロックファイルがない場合は、プロジェクトの運用ルールに従って npm install を使用します。
npmの公式ドキュメントでは、package-lock.json は同じ依存関係ツリーを再現するためのファイルであり、ソースリポジトリへコミットすることが想定されています。つまり、node_modulesそのものをクラウドへ保存しなくても、ロックファイルから依存関係を再生成できます。(npm ドキュメント)
シンボリックリンクやジャンクションによる回避は使わない
OneDrive配下にリンクだけを置き、実体を別ドライブへ逃がす方法が紹介されることがあります。
OneDrive\project\node_modules
↓ junction
D:\node_modules
しかし、MicrosoftはOneDriveがシンボリックリンクやジャンクションを使用した同期をサポートしないと説明しています。組織の標準手順として採用するのは避けてください。(マイクロソフトサポート)
node_modulesを同期対象外にするメリット
node_modules は、一般的な文書フォルダーとは性質が異なります。
ファイル数が非常に多くなる
プロジェクトによっては、node_modules 内に数万から数十万のファイルが作成されます。ファイルが追加・更新されるたびにOneDriveが変更を検出するため、次の問題につながります。
- OneDriveが長時間「変更を処理しています」と表示される
- CPUやディスクの負荷が増える
- ネットワーク通信量が増える
- 同期エラーを確認しにくくなる
- 本当に保護したいソースコードの同期が遅れる
Microsoftは、最適なパフォーマンスを得るため、クラウドストレージ全体で同期する項目数を合計30万件以下にすることを推奨しています。(マイクロソフトサポート)
深い階層がパス長制限に達しやすい
OneDriveでは、デコード後のクラウドパスが400文字以内、各パス要素が255文字以内である必要があります。PCやMacでは、OneDriveルートと相対パスを合わせた長さにも520文字の上限があります。依存パッケージが深く入れ子になるプロジェクトでは、この制限に達する可能性があります。(マイクロソフトサポート)
再生成できるデータである
通常、node_modules は次のファイルから再生成します。
package.json
package-lock.json
そのため、同期対象を分ける際は次の考え方が有効です。
| データ | 保存先の考え方 |
|---|---|
| ソースコード | Gitリポジトリ、必要に応じてOneDrive |
package.json | Gitリポジトリ、OneDrive |
package-lock.json | Gitリポジトリ、OneDrive |
node_modules | ローカルで再生成 |
| ビルド成果物 | CI/CDや成果物リポジトリ |
| APIキーやパスワード | シークレット管理サービス |
ただし、同期対象外のローカルフォルダーはバックアップされません。再生成できない独自ファイルを node_modules やキャッシュフォルダーへ保存する運用は避ける必要があります。
現在使える管理者設定はファイル単位の除外
現在のOneDriveには、「Exclude specific kinds of files from being uploaded」という管理ポリシーがあります。
この設定では、ファイルの完全な名前やワイルドカードを指定し、該当するファイルをOneDriveまたはSharePointへアップロードしないようにできます。ただし、対象はファイルであり、フォルダーのパスを指定する機能ではありません。(Microsoft Learn)
WindowsのGPO・Intune設定
Windowsでは、グループポリシーまたはIntuneの管理用テンプレートから設定できます。
設定名は次のとおりです。
Exclude specific kinds of files from being uploaded
ポリシーの適用確認に使用できるレジストリパスは次のとおりです。
HKLM\SOFTWARE\Policies\Microsoft\OneDrive\EnableODIgnoreListFromGPO
指定例として、Microsoftは次の形式を示しています。
setup.exe
*.pst
完全なファイル名と * ワイルドカードを利用でき、大文字と小文字は区別されません。設定後はOneDrive同期アプリの再起動が必要です。
除外されたファイルはローカルのOneDriveフォルダーに残り、エクスプローラーでは「同期から除外」の状態アイコンが表示されます。OneDriveのアクティビティセンターにも、同期されない理由が表示されます。(Microsoft Learn)
MacのEnableODIgnore設定
Macでは、plistに EnableODIgnore を設定します。
<key>EnableODIgnore</key>
<array>
<string>setup.exe</string>
<string>*.pst</string>
</array>
Windowsと同様に、完全なファイル名またはワイルドカードを使用できます。対象ファイルはローカルに残り、Finderでは「同期から除外」アイコンが表示されます。(Microsoft Learn)
node_modulesのフォルダー除外には代用できない
既存ポリシーに次のような文字列を設定しても、node_modules配下の全ファイルをパス単位で除外できるとは公式に説明されていません。
node_modules
node_modules\*
*\node_modules\*
現在のポリシーで公式にサポートされているのは、ファイル名やファイル名パターンの指定です。フォルダーパスを前提としたルールを組織へ配布すると、除外漏れや想定外の同期が発生する可能性があります。
また、除外対象のファイルはWebブラウザーから直接OneDriveへアップロードできます。その後、同じ名前のローカル除外ファイルが存在すると同期競合につながるため、利用者への周知も必要です。Microsoft Learnでは、Officeファイルの除外には対応しないという制限も示されています。(Microsoft Learn)
OneDriveのフォルダーの選択では目的を達成できない
OneDrive設定には、同期するフォルダーを選ぶ機能があります。
Windowsでは次の場所から設定します。
OneDriveの設定
→ アカウント
→ フォルダーの選択
Macでは次の場所です。
OneDriveの環境設定
→ アカウント
→ フォルダーの選択
しかし、チェックを外したフォルダーはPCやMacから取り除かれ、OneDrive上だけに残ります。さらに、Documents、Desktop、Pictures、Personal Vaultなど、一部の重要フォルダーはチェックを外せません。(マイクロソフトサポート)
目的別に整理すると、次の違いがあります。
| 目的 | 適した機能 |
|---|---|
| クラウドには残し、PCの容量を空けたい | ファイル オンデマンド |
| クラウドには残し、そのPCには表示したくない | フォルダーの選択 |
| 特定の拡張子をクラウドへ上げたくない | 現在のファイル除外ポリシー |
| 特定フォルダーをPCだけに残したい | Roadmap ID 567470の新機能 |
| 新機能の提供前に確実に除外したい | OneDrive外へプロジェクトを移す |
管理者がフォルダー除外ルールを作る際の判断基準
新機能が一般提供された後も、開発ツール関連のフォルダーを一律に除外するのは危険です。
MicrosoftはPowerShellモジュール、Visual Studio設定、node modulesを例示していますが、同じ名前のフォルダーでも組織やプロジェクトによって中身が異なります。(Microsoft)
除外候補は、次の3条件で判断します。
- 削除されてもパッケージ管理ツールやビルド処理から再生成できる
- チームで共有すべきソースコードや設定を含まない
- OneDriveのバックアップ、バージョン履歴、復元機能を必要としない
フォルダー別の判断例
| フォルダー | 判断の目安 | 注意点 |
|---|---|---|
node_modules | 除外候補 | package.jsonとロックファイルは除外しない |
.venv | 除外候補 | requirements.txtなどの依存定義を保存する |
bin、obj | 除外候補 | 手作業で配置した成果物がないか確認する |
dist、build | 条件付き | 配布物は成果物リポジトリへ保存する |
| キャッシュフォルダー | 除外候補 | アプリ固有の重要データがないか確認する |
.vscode | 慎重に判断 | 共有するタスクやデバッグ設定を含む場合がある |
.idea | 慎重に判断 | チーム共有設定を含む場合がある |
| PowerShellモジュール | 慎重に判断 | 自社開発モジュールはソースコードの場合がある |
| Visual Studio設定 | 慎重に判断 | ソリューション共有設定と個人設定を分ける |
.env | OneDriveに置かない | 除外だけに頼らずシークレット管理を利用する |
独自の観点として重要なのは、フォルダー名ではなく、データの再現性と責任の所在で判断することです。たとえば vendor は依存パッケージの保存場所であることもあれば、修正済みの外部ソースを正式に保管していることもあります。名前だけで組織全体から除外すると、必要なデータを保護できなくなる可能性があります。
管理者ルールを組織へ配布する前の準備
現在のWindows向けOneDrive設定はGPOまたはIntuneで管理でき、Mac向け設定はplistを使って構成します。ただし、Roadmap ID 567470の新しいフォルダー除外ルールが、同じ管理経路で提供されるかはまだ公表されていません。(Microsoft Learn)
GA前には、設定を推測して作るのではなく、次の準備を進めます。
除外対象を棚卸しする
開発部門ごとに、次の情報を収集します。
- 使用している開発言語
- パッケージ管理ツール
- ビルドツール
- IDE
- プロジェクトの保存場所
- OneDriveフォルダーバックアップの利用状況
- 除外したいフォルダー名
- 再生成方法
- 再生成できないデータの有無
ルールを狭く設計する
仕様がパス指定に対応している場合は、単純なフォルダー名より、対象を限定できる指定方法を優先します。
たとえば、すべての build フォルダーを除外するより、開発ワークスペース内だけに限定できる方が安全です。
開発用ルート\*\node_modules
ただし、これはあくまでルール設計の考え方です。実際の構文は公式ドキュメントの公開後に確定してください。
WindowsとMacで別々に検証する
Roadmap上ではWindowsとMacの両方が対象ですが、設定の反映方法や状態表示が完全に同じとは限りません。
最低でも次の端末をパイロット対象にします。
- WindowsのProduction Ring端末
- WindowsのInsider Ring端末
- 管理対象Mac
- OneDriveフォルダーバックアップを利用しているWindows
- 複数プロジェクトを扱う開発者端末
一般提供後に行う動作確認
フォルダー除外ルールを全社展開する前に、次のテストを実施します。
| テスト項目 | 確認する内容 |
|---|---|
| 新規フォルダー | 除外フォルダーがローカルに残り、Web版OneDriveには表示されない |
| 新規ファイル | 除外フォルダー内のファイルがアップロードされない |
| 通常フォルダー | 隣接する除外対象外フォルダーは正常に同期される |
| 既存フォルダー | ポリシー適用前からあるデータがどう扱われるか |
| 名前変更 | 通常フォルダーを除外対象名へ変更した場合の動作 |
| フォルダー移動 | ファイルを除外対象の内外へ移動した場合の動作 |
| 再起動 | OneDrive再起動、サインアウト、OS再起動後も設定が維持される |
| 入れ子 | 除外フォルダー配下のサブフォルダーも対象になる |
| 同名フォルダー | 別の場所にある同名フォルダーへの影響 |
| Webアップロード | 除外フォルダーと同じ場所へWebからアップロードした場合の競合 |
| ルール解除 | 除外解除後に同期が再開されるか |
| ロールバック | 問題発生時に元の状態へ戻せるか |
特に重要なのは、既にクラウドへアップロード済みの node_modules を除外した場合です。
次のどの動作になるかは、公式仕様が公開されるまで断定できません。
- クラウド側だけ削除される
- クラウド側に残ったまま同期が止まる
- ローカル側へ再ダウンロードされる
- ユーザーによる確認が必要になる
本番展開前に、ダミーデータを使って必ず確認してください。
OneDriveのフォルダー除外で失敗しやすいポイント
.gitignoreを設定すればOneDriveにも同期されないと思う
.gitignore が制御するのはGitの追跡対象です。OneDriveは .gitignore を参照しないため、OneDrive配下にある node_modules は通常どおり同期対象になります。
「フォルダーの選択」でチェックを外す
この操作では、フォルダーがローカルから取り除かれ、クラウド側に残ります。ローカル専用フォルダーを作る操作ではありません。(マイクロソフトサポート)
ファイル オンデマンドでオンライン専用にする
ファイル オンデマンドはクラウド保存を前提とした機能です。アップロードを止める効果はありません。(マイクロソフトサポート)
既存のファイル除外ポリシーへフォルダーパスを入れる
現在の公式設定はファイル名とワイルドカードによるファイル除外です。未記載のパス構文へ依存すると、端末やバージョンによって想定どおりに動かない可能性があります。
移行確認前にOneDrive側のプロジェクトを削除する
OneDrive内のファイルを削除すると、クラウドや他の同期端末にも削除が反映されます。新しい場所でビルドと起動を確認してから、旧データを削除してください。
除外フォルダーをバックアップ済みだと思う
同期対象外にしたデータは、OneDriveのバージョン履歴やごみ箱による保護を受けられません。再生成できないファイルは、Git、成果物リポジトリ、バックアップストレージなど、別の保存先が必要です。
まとめ:今はOneDrive外へ移し、GA後に管理者ルールを検証する
2026年7月19日時点では、OneDrive配下の node_modules だけをフォルダー単位で同期対象外にする一般提供機能はありません。
今すぐ対処する場合は、次の運用が安全です。
- 開発プロジェクトを
C:\srcや~/DeveloperなどOneDrive外へ移す - ソースコードとロックファイルをGitや適切なストレージで保護する
node_modulesはnpm ciなどで再生成する- シンボリックリンクやジャンクションを回避策として使わない
- 現在のファイル除外ポリシーをフォルダー除外の代わりに使わない
管理者は、Roadmap ID 567470の状態、OneDrive同期クライアントのリリースノート、WindowsとMacの管理ドキュメントを確認し、対応ビルドと正式なポリシー名が公開されてからパイロット展開を始めます。
2026年8月という提供時期は予定であり、変更される可能性があります。全社展開では、既存データ、名前変更、ルール解除、Webアップロード、WindowsとMacの差を検証し、ロールバック手順まで準備することが重要です。(Microsoft)

コメント