CLIコマンドリファレンス
アプリの選択、チャネル管理、ネイティブビルド登録、更新パッケージ作成と配信に使うCLIコマンドを説明します。
更新日 2026-09-14
最初のリリースを完了してから、このコマンド リファレンスを使用してください。アプリのルートからコマンドを実行します。バックスラッシュの継続は Bash / zsh 用です。 PowerShell で 1 行を使用します。
CLI をインストールする
npm install -g rn-update-cliインストール後は pakta <command> でコマンドを実行します。Node.js 18.17以上が必要です。ログインと初期設定は最初の更新を配信する手順を参照してください。
コマンドクイックリファレンス
| 目的 | コマンド |
|---|---|
| アカウント | login、logout、me |
| アプリ | createApp、apps、selectApp、deleteApp |
| チャンネル | channels、createChannel、updateChannel、deleteChannel |
| ネイティブパッケージ | uploadApk、uploadAab、uploadIpa、uploadApp、packages、deletePackage |
| 解析 | parseApk、parseAab、parseIpa、parseApp、extractApk |
| 太田 | bundle、publish、versions、update、updateVersionInfo、deleteVersion |
| 差分 | hdiff、hdiffFromApk、hdiffFromIpa、hdiffFromApp、registerPdiff |
| 診断 | symbolicate、cache、cache clean |
pakta list は、使用可能なコマンドを出力します。以下の正規のオプション名を使用してください。
バンドル
.ppk 更新パッケージを生成します (JS バンドルとアセットのみ)。
pakta bundle --platform android --output .pakta/output/android.ppk --no-interactive主なオプション:
--platform ios|android|harmony— ターゲット プラットフォーム。--output—.ppk出力パス。タイムスタンプ付きのファイル名を避けるために固定します。--entryFile— エントリ スクリプト (デフォルトでは、index.js。Expo 用に推論されます)。--dev true— 開発バンドルを構築します。--sourcemap/ デフォルトで生成 — エルメス プロジェクトは、最終的なマッピングを自動的に構成します。--hermesBase auto|none|<path>— ヘルメスのベースライン戦略。autoは履歴ベースラインを再利用してパッチを縮小し、noneを無効にするか、明示的な.hbc/.ppk/.apk/.ipaを渡します。--expo— Expo プロジェクトのバンドル。--name— 存在する場合、バンドル直後に公開が開始されます。
更新を公開する
pakta publish <ppk-path> \
--platform android --name fix-001 \
--channel default --packageVersion 1.0.0 --rollout 10 \
--sourcemap .pakta/intermedia/android/index.bundlejs.mapターゲット フォームを 1 つ選択します:
--targets targets.json(マルチチャネル)、--packageId(ネイティブ パッケージ ID からターゲットを解決)、または--channel + --packageVersion(単一ターゲット)。--rolloutを省略すると 100% を意味します。targets.jsonの行ごとのrolloutはグローバル値をオーバーライドします。--dryRunプリフライト: 何も書き込まずにターゲットとパーセンテージを解決します。--deploymentIds id1,id2: 失敗した展開を正確に再試行します。--sourcemap: 後のsymbolicateのためにソースマップをアーカイブします。
パブリッシュでは 2 つの独立したオブジェクトが生成されます。アップロード時に登録された スリム ネイティブ ベースライン と、現在アップロードされた .ppk です。完全なストア バイナリがそのままアップロードされることはありません。公開後、プラットフォームは、チャネル × ネイティブ バージョン グループ内の正確なビルドごとに 1 つのトランザクションで差分ジョブを作成します。ジョブが終了するまで、checkUpdate は完全なパッケージに戻ります。
バージョンと差分
pakta versions # list versionsローカル hdiff/hdiffFromApk/hdiffFromIpa/hdiffFromApp はパッチ ファイルのみを生成します。正確なネイティブ ビルドにパッチをアタッチするには、後で registerPdiff 経由で登録します (deploymentId + nativeVersionId によって正確にバインドされ、同じバージョンの別のビルドに誤って配信されることはありません)。
診断
pakta symbolicate stack.txt --platform android --hash <UPDATE_HASH>hash はSDKの getUpdateMetadata().currentVersion から取得します。--versionId も指定できます。- を指定すると標準入力からスタックを読み込みます。cache clean はローカルのHermes基準バイトコードキャッシュを削除します。
環境変数
| 変数 | 目的 |
|---|---|
RNU_SERVICE_URL | セルフホステッド サービス アドレス (/admin/api/v1 自動的に追加) |
PAKTA_API_TOKEN | CI 用の個人アクセストークンです。API キーを参照してください。 |
NO_INTERACTIVE=true | すべてのプロンプトを無効にする |
RNU_LANG | zh (デフォルト) または en |
RNU_DEBUG=1 | エラースタックを出力する |
HTTPS_PROXY / HTTP_PROXY / NO_PROXY | プロキシ設定 (小文字を受け入れます) |
PAKTA_CACHE_DIR | hermes ベースライン キャッシュ ディレクトリ |
PAKTA_HERMES_PROBE_TIMEOUT_MSと兄弟 | ヘルメスのプローブ/検証/コンパイル期限 (ミリ秒) |
RNU_AUTO_UPDATE=0 | CLI バックグラウンド自己更新を無効にする |
プログラム API
ビルド スクリプトはコマンド ラインをスキップして、エクスポートされたプロバイダーを直接使用できます。
import { CLIProviderImpl } from 'rn-update-cli';
const provider = new CLIProviderImpl();
const bundle = await provider.bundle({
platform: 'android',
output: '.pakta/output/android.ppk',
sourcemap: true,
});
if (!bundle.success) throw new Error(bundle.error);
const release = await provider.publish({
filePath: '.pakta/output/android.ppk',
sourcemap: '.pakta/intermedia/android/index.bundlejs.map',
platform: 'android',
name: 'fix-001',
targets: 'targets.json',
});
if (!release.success) throw new Error(release.error);結果は CommandResult オブジェクトです。data を使用する前に、success を確認してください。
似ている ID
publish --packageId 入力は、ターゲットを解決するために使用されるネイティブ パッケージ ID です。返された packageId は、更新パッケージを識別します。出力 ID をそのオプションに入力しないでください。複数のターゲットの場合は targets.json を優先し、再試行の場合は deploymentIds を返します。
