メインコンテンツへスキップ
非公式ベータ版翻訳

このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →

よくある質問

このドキュメントは作成中です

サードパーティの依存関係をLernaリポジトリに追加するには?

依存関係の追加やリンクはLernaの責務ではなく、選択したパッケージマネージャー(npm/yarn/pnpm)が最適に処理します。パッケージマネージャーのworkspaces機能を使用することで、package.jsonファイルに設定した関係性に基づき、ローカルパッケージのリンクが自動的に行われます。

各パッケージマネージャーのworkspacesドキュメントはこちら:

注意:Lerna自体はパッケージマネージャーのworkspaces機能よりも前から存在していたため、過去にはこのギャップを埋めるためのコマンド(addbootstraplink)がありました。幸いこれらのコマンドは不要になり、Lernaは得意分野に集中し、パッケージマネージャーも同様に機能を発揮できます。

Lernaリポジトリ内の新規パッケージ作成

Lernaリポジトリ内で新しいパッケージを作成するには、lerna createコマンドを使用します。

lerna create <packageName>

詳細なオプションはcreateドキュメントを参照してください。

lerna createを使用しない場合、packagesフォルダのサブディレクトリでnpm initを実行して手動でパッケージを作成することも可能です。Lernaは自動的に検出します。

既存パッケージの取り込み

既存のパッケージをLernaリポジトリに移行するには、lerna import <package>を使用します。このコマンドはコミット履歴を保持します。

lerna import <package>はURLではなくローカルパスを受け取ります。この場合、リンクしたいリポジトリをファイルシステム上に用意する必要があります。

publishが失敗した場合の再実行方法

一部のパッケージの公開に成功し他のパッケージが失敗した場合、Lerna publishは変更されたファイルによりリポジトリを不整合な状態にしている可能性があります。回復するには、失敗した実行による不要なローカル変更をリセットしてクリーンな作業ツリーに戻します。その後、同じlerna publishコマンドを再実行します。Lernaは全パッケージの公開を再試行しますが、既に公開済みのパッケージを認識し、警告を表示してスキップします。

パッケージの新バージョンを選択する位置引数なしでlerna publishコマンドを使用した場合、バージョンを再度更新する必要なく、同じタグ付きバージョンの公開を再試行するためにlerna publish from-gitを実行できます。

Lernaのパッケージ検出方法

デフォルトで、npmおよびyarnを使用する場合、Lernaはpackage.json内の設定されたworkspacesプロパティを使用して操作対象のパッケージを認識します。このプロパティの詳細については、npmドキュメントまたはyarnドキュメントを参照してください。

pnpmを使用している場合、lerna.jsonnpmClientpnpmに設定している可能性があります。この場合、Lernaは操作対象のパッケージを判断するためにpnpm-workspace.yaml内のpackagesプロパティを参照します。このプロパティの詳細については、pnpmのドキュメントを参照してください。

リポジトリ内の特定のパッケージサブセットにLernaの操作を集中させたい場合は、lerna.jsonpackagesプロパティを活用してパッケージを検索できます。