Lerna での pnpm の使用
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
Lerna は pnpm ワークスペース内で使用することで、pnpm と Lerna の両方のメリットを最大限に活かせます。
pnpm ワークスペース内で使用する場合、Lerna は以下のようになります:
-
pnpm-workspace.yamlを使用してパッケージの場所を解決します (https://pnpm.io/workspaces) -
package.json内の"workspaces"を無視します -
bootstrap、link、addコマンドの使用をブロックします。代わりに、依存関係の管理にはpnpmコマンドを直接使用してください (https://pnpm.io/cli/install). -
パッケージ依存関係のワークスペースプロトコルを尊重します
lerna version実行中、依存関係は通常通り更新されますが、workspace:プレフィックスが存在する場合はそれを保持します- ワークスペースエイリアスが使用されている場合、エイリアスはバージョン番号を指定していないため、
lerna versionはその依存関係のバージョンを更新しません
はじめに
Lerna で pnpm をセットアップするには:
-
まだインストールされていない場合は、
pnpmをインストールしてください: https://pnpm.io/installation -
ルートディレクトリに
node_modules/フォルダが存在する場合は削除してください。ワークスペースをまだ使用していない場合は、lerna cleanを実行してすべてのパッケージ内のnode_modules/フォルダを削除します -
lerna.json内で"npmClient": "pnpm"を設定します -
プロジェクトのルートに
pnpm-workspace.yamlファイルを作成します すでに npm または yarn のワークスペースを使用している場合は、package.jsonの "workspaces" プロパティをpnpm-workspace.yamlに移動してください。ワークスペースをまだ使用していない場合は、lerna.jsonの "packages" プロパティをpnpm-workspace.yamlに移動してください。例:package.json{
"workspaces": ["packages/*"]
}および
lerna.json{
"packages": ["packages/*"]
}上記の設定が以下のようになります:
pnpm-workspace.yamlpackages:
- "packages/*" -
(オプション) 既存のロックファイルから
pnpm-lock.yamlファイルを生成するためにpnpm importを実行します。サポートされているロックファイルのソースについては、https://pnpm.io/cli/import を参照してください -
pnpm installを実行します