RORK LABEN
FUNDING — Rorkが$15Mのシード資金調達を完了。Left Lane Capitalが主導し、Peak XV・True Ventures・Goodwater・a16z Speedrunが参加しましたSCALE — 1年未満でWebトラフィック上は世界最大級のAIモバイルアプリ構築プラットフォームに成長しましたMAX — Rork MaxはネイティブSwiftアプリを生成し、Claude Code・Claude Opus 4.6で駆動しますNATIVE — Rork MaxはAR/LiDAR・Metalの3D・ウィジェット・Live Activities・HealthKit・Core MLなどXcode相当の領域まで到達しますSTACK — 通常のRorkはReact Native(Expo)でiOSとAndroidを同時に生成し、非エンジニアでも実機アプリを作れますPRICE — 料金は無料から用意され、有料プランは月$25から、Rork Maxは月$200ですFUNDING — Rorkが$15Mのシード資金調達を完了。Left Lane Capitalが主導し、Peak XV・True Ventures・Goodwater・a16z Speedrunが参加しましたSCALE — 1年未満でWebトラフィック上は世界最大級のAIモバイルアプリ構築プラットフォームに成長しましたMAX — Rork MaxはネイティブSwiftアプリを生成し、Claude Code・Claude Opus 4.6で駆動しますNATIVE — Rork MaxはAR/LiDAR・Metalの3D・ウィジェット・Live Activities・HealthKit・Core MLなどXcode相当の領域まで到達しますSTACK — 通常のRorkはReact Native(Expo)でiOSとAndroidを同時に生成し、非エンジニアでも実機アプリを作れますPRICE — 料金は無料から用意され、有料プランは月$25から、Rork Maxは月$200です
記事一覧/開発ツール
開発ツール/2026-07-06中級

クラウド同期フォルダでアプリ開発するとビルドが壊れる — 生成物を同期から外して根治した話

Dropbox や iCloud Drive に置いたプロジェクトで、ある朝ビルドが通らなくなりました。原因は同期がビルド生成物に割り込んで作る競合コピー。node_modules や Pods を同期対象から外して再発を止めるまでの手順を、個人開発の実体験としてまとめます。

開発環境2DropboxiCloud3ビルドエラー8Expo130個人開発177

プレミアム記事

「(廣川政樹さんの競合コピー)」というファイルが Pods の中に増えているのに気づいたのは、ある朝ビルドが赤で止まったときでした。同じヘッダが二重に見えて、リンカが混乱している。前の晩まで普通に動いていたプロジェクトです。

犯人はクラウド同期でした。私はソースコードを Dropbox の中に置いて複数マシンで開発しているのですが、その同期がビルド生成物にまで手を伸ばし、書き込みの最中に割り込んで「競合コピー」を作っていたのです。ソースをクラウドに置くこと自体は悪くありません。落とし穴は、同期する必要のない生成物まで同期していたことでした。

同じ構成で開発している個人開発者は少なくないと思います。ここでは、私が Dolice のプロジェクト群でこの問題を根治した手順を残しておきます。

なぜ同期フォルダでビルドが壊れるのか

ビルドは、短時間に大量のファイルを生成・上書き・削除します。node_modules の展開、Pods のインストール、コンパイラの中間生成物。これらが書き込まれている最中に、クラウド同期クライアントが「変更を検知した」と反応してアップロードを始めます。

ここで2つの厄介が起きます。ひとつは、複数マシンやバージョン履歴との間で同じファイルに別々の変更が入り、同期クライアントが解決できずに競合コピーを作ること。もうひとつは、同期がファイルを一時的にロックしたりプレースホルダ化したりして、ビルドツールが期待した実体を読めなくなることです。

つまり壊れているのはコードではなく、コードの周りにある生成物の状態です。だから「クリーンして再ビルドすると直る」のに、数日するとまた壊れる。私の環境では、生成物を同期対象に含めたままだと、この再発率は体感でほぼ100%でした。原因が生成物の同期にある限り、対処療法では止まりません。

同期から外すべきディレクトリ

判断基準はシンプルです。再生成できるものは同期しない。 ソースと設定ファイルだけ同期し、コマンド一発で作り直せるものは全て除外します。

ディレクトリ正体再生成方法
node_modules/npm 依存パッケージnpm install
ios/Pods/CocoaPods 依存pod install
~/Library/Developer/Xcode/DerivedData/Xcode 中間生成物ビルドで再生成
ios/build/ · android/build/ビルド成果物ビルドで再生成
.gradle/ · android/.gradle/Gradle キャッシュビルドで再生成
.expo/ · .expo-shared/Expo のローカルキャッシュ起動時に再生成
*.xcworkspace/xcuserdata/ · .swiftpm/ユーザー固有状態・SPM 作業領域不要/再生成

.git は同期しても致命傷にはなりませんが、私は履歴の競合を避けるため、クラウド同期とは別に GitHub をリモートとして使い、.git 自体も除外対象に含めています。この構成を推奨します。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
同期フォルダでビルドが不定期に壊れて原因が掴めなかった人が、なぜ壊れるのかを理解し、その日のうちに除外設定で止められる
node_modules・Pods・DerivedData など、同期から外すべき生成物の一覧と、Dropbox / iCloud それぞれの除外手順を手に入れられる
プロジェクト作成時に一度流すだけで生成物を同期対象外にする再利用スクリプトを、自分の環境にそのまま組み込める
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-07-04
「続きを読む」を出すべきか、テキストの実測で決める — Rork(Expo)の折りたたみ表示設計
商品説明やレビュー本文を3行で畳み「続きを読む」を出す実装で、短い文にまでトグルが付いてしまう問題を解決します。onTextLayout で実際の行数を測り、はみ出す時だけトグルを出す設計を、iOS と Android の差、展開アニメーション、文字サイズ拡大への配慮まで動くコードでまとめます。
開発ツール2026-06-30
Rork アプリにホーム画面長押しのクイックアクションを足す — 動的項目とコールド起動の取りこぼしを防ぐ
アイコン長押しで出るクイックアクションを Rork(Expo)アプリに実装する設計です。静的・動的項目の使い分け、iOS と Android の差、そしてコールド起動でアクションがルーター準備前に届いて取りこぼす問題を、保留と再生で防ぐ実装手順までまとめます。
開発ツール2026-06-28
EAS Update を少人数から配り、クラッシュ率で自動的に止める
OTA 更新は一瞬で全員に届くからこそ、悪い更新も一瞬で全員に届きます。EAS Update を少人数(カナリア)から配り、クラッシュ率を見て広げるか止めるかを自動で判断し、最後は端末側で安全網を張る設計を、動くコードでまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →