検索・比較:越境 リモート Mac CI で Yarn Berry・PnP と node_modules の採否。registry ミラーと並列インストールの決定表。対象は monorepo の FE/iOS 混在 CI 保守者。2026 は Node 22+・Apple Silicon で律速はRTT と同時接続寄り。ホーム・ブログ一覧・購入・ヘルプはログイン不要です。

越境遅延下における二モードの所要時間対比(PnP と classic node_modules)

RTT↑でHTTP 往復と429 再試行が支配的。.yarn/cache で Berry は tarball を圧縮しやすく、node-modules リンカーは互換◎・初回 I/O↑。

観点PnPnode_modules
越境 coldキャッシュ命中で tarball 本数↓階層展開で初回時間・I/O↑
ディスク.yarn/cache 集約monorepo で容量↑
ネイティブ/Xcodeextensions/unplug 要のことも既存ツール互換◎
鍵・判断yarn.lock+Berry+.yarnrc.yml/フロント・容量重視方針明示/iOS 混在・素朴解決

npm ミラー最適化・registry ミラー。

registry と並列インストールの実行パラメータ(.yarnrc.yml・環境変数)

並列インストールは networkConcurrency×同一ホストのジョブ数。上げる前に NAT とレジストリのレート上限 を見ます。

実行パラメータ(出発点)
  • enableGlobalCache: true(許可時)
  • networkConcurrency: 8〜24・429 なら半減
  • httpTimeout: ≥60000・実験は YARN_NPM_REGISTRY_SERVER、本番は .yarnrc.yml
nodeLinker: pnp
enableGlobalCache: true
networkConcurrency: 12
httpTimeout: 90000
npmRegistryServer: "https://registry.npmjs.org/"

GitHub Packages と npm の二系統認証とトークンローテーション

スコープは npm.pkg.github.com、公開は registry.npmjs.org。.npmrc を Yarn が読む前提で、トークンローテーションは両行を同一マージで差し替え、パイプラインの古いシークレット参照を掃除します。

レジストリ設定キー例CI での注意
npmjs//registry.npmjs.org/:_authToken読み取り限定トークン・IP 許可リスト
GitHub Packages//npm.pkg.github.com/:_authTokenread:packages と org スコープの一致
ローテーションOIDC 発行 or 短命 PAT期限切れ前に両行を原子的に差し替え

CI 並列度とディスク水位しきい値(Apple Silicon ランナー)

同時ジョブ × node_modules でディスクが先に枯れます。並列 pull とディスク FAQ の 80/85/90% を install 前後のゲートに。

指標推奨アラートアクション
ディスク使用率80% 注意・85% 減速・90% 中止キャッシュ prune・ワークスペース分離・同時実行数を 1 段階下げる
同一ホストの CI 並列帯域とファイル記述子を見て 2〜4 から試行networkConcurrency と連動して調整

失敗リトライと yarn.lock 一貫性の検収

429/5xx は 4→12→30→90 秒 バックオフをパイプラインと併用。yarn install --immutable で lock ドリフトを弾き、dedupe 方針を文書化。

検収
  • Node 22+ と engines 一致
  • yarn.lock 差分なし(immutable 緑)・再試行後も checksum 安定

関連:Bundler 越境決定表。

FAQ

PnP なのにネイティブだけ落ちる

未宣言依存が典型。packageExtensions/unplug または該当 WS のみ node-modules リンカー。

networkConcurrency を上げたら 429 が増えた

相手上限が先。値を下げ、ミラー・キャッシュ鍵・同一ホストのパイプライン並列を減らす。

GitHub Packages だけ 401

スコープ・.npmrc ホスト行・SSO。ローテ直後は古い NPM_TOKEN 参照を grep。

まとめ:Yarn Berry・PnP は tarball とディスクを抑えやすく、registry ミラーと並列インストールで伸ばす。iOS 境界では node_modules が堅実なことも。リモート Mac CI を近接に置くと RTT・I/O の試行が速いです。ホーム・購入・料金・ヘルプ・ブログ一覧(ログイン不要)。

Node 22+ × Apple Silicon × Yarn Berry

越境でも依存インストールを決め切るなら、ランナー位置とキャッシュ設計をセットで

ヘルプ・購入・ホームはログイン不要。MacPull リモート Macで実機検証・試用を。関連はブログ一覧。