複数のパッケージを持つJavaScriptプロジェクトを管理するためのツール。
- について
- はじめに
- どのように動作しますか
- トラブルシューティング
- コマンド
- その他
- Lerna。json
- Flags
について大きなコードベースを独立したバージョン管理パッケージに分割することは、コード共有に非常に便利です。 しかし、多くのリポジトリ間で変更を行うことは面倒で追跡するのが難しく、リポジトリ間でのテストは非常に複雑になります。
これらの(および他の多くの)問題を解決するために、いくつかのプロジェクトはコードベースをマルチパッケージリポジトリ(時にはmonoreposと呼ばれる)に整理します。 Babel、React、Angular、Ember、Meteor、Jestなどのプロジェクトは、すべてのパッケージを単一のリポジトリ内で開発します。
lernaは、gitとnpmでマルチパッケージリポジトリを管理するワークフローを最適化するツールです。
Lernaはまた、開発環境およびビルド環境でのパッケージの多数のコピーの時間とスペースの要件を減らすことができます-通常、プロジェクトを多くの別々のNPMパ 詳細については、ホイストのドキュメントを参照してください。
Lerna repoはどのように見えますか?
実際にはそれにはほとんどありません。 次のようなファイルシステムがあります:
my-lerna-repo/ package.json packages/ package-1/ package.json package-2/ package.json
Lernaは何ができますか?
Lernaの2つの主要なコマンドはlerna bootstrap
とlerna publish
です。
bootstrap
はリポジトリ内の依存関係をリンクします。 publish
は、更新されたパッケージを公開するのに役立ちます。
はじめに
以下の手順はLerna2のためのものです。x.1の代わりに使用することをお勧めします。新しいLernaプロジェクトのためのx。 1を参照する必要がある場合は、wikiを確認してください。xのREADME。
まず、npmを使ってlernaをグローバルにインストールしましょう。
$ npm install --global lerna
次に、新しいgitリポジトリを作成します:
$ git init lerna-repo$ cd lerna-repo
そして今のは、Lernaレポにそれを回してみましょう:
$ lerna init
リポジトリは次のようになります:
lerna-repo/ packages/ package.json lerna.json
これにより、lerna.json
設定ファイルとpackages
フォルダが作成されます。
仕組み
Lernaでは、固定または独立のいずれかのモードを使用してプロジェクトを管理できます。
固定/ロックモード(デフォルト)
固定モードLernaプロジェクトは単一のバージョンラインで動作します。 バージョンは、プロジェクトのルートにあるlerna.json
ファイルのversion
キーの下に保持されます。 lerna publish
を実行したときに、最後にリリースが行われたときからモジュールが更新されている場合、リリースしている新しいバージョンに更新されます。 これは、必要なときにのみパッケージの新しいバージョンを公開することを意味します。
これはバベルが現在使用しているモードです。 すべてのパッケージバージョンを自動的に結び付ける場合は、これを使用します。 このアプローチの1つの問題は、いずれかのパッケージを大きく変更すると、すべてのパッケージが新しいメジャーバージョンを持つことになります。
独立モード(–independent)
独立モードLernaプロジェクトでは、メンテナは互いに独立してパッケージバージョンをインクリメントできます。 公開するたびに、変更されたパッケージごとにプロンプトが表示され、パッチ、マイナー、メジャー、またはカスタムの変更かどうかを指定します。
独立モードでは、各パッケージのバージョンをより具体的に更新することができ、コンポーネントのグループに対して理にかなっています。 このモードをsemantic-releaseのようなものと組み合わせると、痛みが少なくなります。 (これに関する作業はすでにatlassian/lerna-semantic-releaseで行われています)。
lerna.json
のversion
キーは独立モードでは無視されます。
トラブルシューティング
Lernaの使用中に問題が発生した場合は、問題の答えを見つける可能性のあるトラブルシューティング文書を確認してくださ
よくある質問
を参照してくださいFAQ.md.
コマンド
init
$ lerna init
新しいLernaレポを作成するか、既存のレポを現在のバージョンのLernaにアップグレードします。
lernaは、レポがすでに
git init
で初期化されていると仮定します。
実行すると、このコマンドは:
- まだ存在しない場合は、
lerna
をdevDependency
としてpackage.json
追加します。 -
lerna.json
設定ファイルを作成して、version
番号を格納します。
新しいgitリポジトリの出力例:
$ lerna initlerna info version v2.0.0lerna info Updating package.jsonlerna info Creating lerna.jsonlerna success Initialized Lerna files
–independent,-i
$ lerna init --independent
このフラグは、独立したバージョニングモードを使用するようにLernaに指示します。
–exact
$ lerna init --exact
デフォルトでは、lerna init
はnpm install --save-dev lerna
と同様に、lerna
のローカルバージョンを追加または更新するときにキャレット範囲を使用します。
lerna
を保持するには1.”正確な”比較のx動作は、このフラグを渡します。 それ以降のすべての実行に対して完全一致を強制するようにlerna.json
を設定します。
{ "lerna": "2.0.0", "command": { "init": { "exact": true } }, "version": "0.0.0"}
bootstrap
$ lerna bootstrap
現在のLernaリポジトリ内のパッケージをブートストラップします。 すべての依存関係をインストールし、相互依存関係をリンクします。
実行すると、このコマンドは:
-
npm install
各パッケージのすべての外部依存関係。 - お互いの依存関係であるすべてのLerna
packages
を一緒にシンボリックリンクします。 -
npm prepublish
すべてのブートストラップパッケージ。
lerna bootstrap
--ignore
、--scope
、--include-filtered-dependencies
フラグを尊重します(Flagsを参照)。
後に配置してnpmクライアントに余分な引数を渡します--
:
$ lerna bootstrap -- --production --no-optional
で設定することもできます。lerna.json
:
{ ... "npmClient": "yarn", "npmClientArgs": }
どのようにbootstrap
作品
のは、例としてbabel
を使用してみましょう。
-
babel-generator
そしてsource-map
(他の中でも)はbabel-core
の依存関係です。 -
babel-core
‘spackage.json
は、以下に示すように、これらのパッケージの両方をdependencies
のキーとして一覧表示します。
// babel-core package.json{ "name": "babel-core", ... "dependencies": { ... "babel-generator": "^6.9.0", ... "source-map": "^0.5.0" }}
- Lernaは、各依存関係がLernaレポの一部でもあるかどうかをチェックします。
- この例では、
babel-generator
は内部依存関係にすることができますが、source-map
は常に外部依存関係になります。 -
babel-generator
のpackage.json
のbabel-core
のバージョンはpackages/babel-generator
によって満たされ、内部依存関係に渡されます。 -
source-map
は通常のようにnpm install
ed(またはyarn
ed)です。
- この例では、
-
packages/babel-core/node_modules/babel-generator
packages/babel-generator
- へのシンボリックリンクこれにより、ネストされたディレクトリのインポートが可能になります
:
- パッケージ内の依存関係バージョンがレポ内の同じ名前のパッケージによって満たされない場合、通常のように
npm install
ed(またはyarn
ed)になります。 - Dist-タグは、
latest
のように、semverの範囲を満たしません。 - 循環依存関係は、エディタ/IDEに影響を与える可能性のある循環シンボリックリンクになります。
Webstormは、循環シンボリックリンクが存在するときにロックされます。 これを防ぐには、Preferences | Editor | File Types | Ignored files and folders
の無視されるファイルとフォルダーのリストにnode_modules
を追加します。
publish
$ lerna publish
現在のLernaプロジェクトのパッケージをPublishします。
は、更新されたパッケージの新しいリリースを作成します。 新しいバージョンの入力を求められます。 Npmへの公開プロセスで新しいgit commit/タグを作成します。
より具体的には、このコマンドは:
- これに相当する
lerna updated
を実行して、どのパッケージを公開する必要があるかを判断します。 - 必要に応じて、
version
キーをlerna.json
にインクリメントします。 - 更新されたすべてのパッケージの
package.json
を新しいバージョンに更新します。 - 更新されたパッケージのすべての依存関係を、キャレット(^)で指定された新しいバージョンで更新します。
- 新しいバージョンの新しいgit commitとタグを作成します。
- 更新されたパッケージをnpmに公開します。
lernaはプライベートとしてマークされているパッケージを公開しません(
"private": true
のpackage.json
)。
–exact
$ lerna publish --exact
このフラグを指定して実行すると、publish
はsemver互換(^
)ではなく、更新されたパッケージ内の更新された依存関係を正確に(句読点なしで)指定します。
詳細については、パッケージを参照してください。json依存関係のドキュメント。このフラグを指定して実行すると、publish
は指定されたnpm dist-tag(デフォルトはlatest
)を使用してnpmに公開されます。
このオプションは、prerelease
またはbeta
バージョンを公開するために使用できます。
注:
latest
タグは、ユーザーがnpm install my-package
を実行するときに使用されるタグです。 別のタグをインストールするには、npm install [email protected]
を実行します。
–canary,-c
$ lerna publish --canary$ lerna publish --canary=beta
このフラグを指定して実行すると、publish
はより詳細な方法で(コミットごとに)パッケージを発行します。 Npmに公開する前に、現在のversion
を取得し、次のマイナーバージョンにバンプし、提供されたメタ接尾辞(デフォルトはalpha
)を追加し、現在のgit shaを追加することで、新しいversion
タグを作成します(例:1.0.0
は1.1.0-alpha.81e3b443
になります)。
このフラグの使用目的は、コミットレベルごとのリリースまたは夜間のリリースです。
–conventional-commits
$ lerna publish --conventional-commits
このフラグで実行すると、publish
は従来のCommits仕様を使用してバージョンバンプを決定し、CHANGELOGを生成します
–git-remote
$ lerna publish --git-remote upstream
このフラグで実行すると、publish
はgitの変更をorigin
ではなく指定されたリモートにプッシュします。
–skip-git
$ lerna publish --skip-git
このフラグを指定して実行すると、publish
はgitコマンドを実行せずにnpmに公開されます。
はnpmにのみ公開します。gitの変更のコミット、タグ付け、プッシュをスキップします(これは公開にのみ影響します)。
–skip-npm
$ lerna publish --skip-npm
このフラグで実行すると、publish
はすべてのpackage.json
パッケージバージョンと依存関係バージョンを更新しますが、実際にはパッケージをnpmに公開しません。
これは、その後修正されたnpmの問題の回避策として便利でした。 READMEの変更を使用して公開する場合は、
--skip-npm
を使用し、パッケージごとに最後のnpm publish
を手動で実行します。
このフラグを--skip-git
と組み合わせることで、コミット、タグ付け、プッシュ、公開することなく、バージョンと依存関係を更新することができます。
バージョンと依存関係のみを更新し、実際には公開しません(これは公開にのみ影響します)。
–force-publish
$ lerna publish --force-publish=package-2,package-4# force publish all packages$ lerna publish --force-publish=*
このフラグを指定して実行すると、publish
は指定されたパッケージ(カンマ区切り)または*
を使用してすべてのパッケージを強制的に発行します。
これにより、変更されたパッケージの
lerna updated
チェックがスキップされ、git diff
変更されていないパッケージが強制的に更新されます。
–はい
$ lerna publish --canary --yes# skips `Are you sure you want to publish the above changes?`
このフラグを指定して実行すると、publish
はすべての確認プロンプトをスキップします。 継続的統合(CI)で、公開確認プロンプトに自動的に応答するのに役立ちます。
–cd-version
このフラグを指定して実行すると、publish
はバージョン選択プロンプトをスキップし(独立モードで)、次の指定されたセマンティックバージョンを使用します。 すべてのプロンプトを回避するには、--yes
フラグを使用する必要があります。 これは、ビルドシステムがコマンドプロンプトなしで公開する必要がある場合に便利です。 通常モードと独立モードの両方で動作します。
–pre-id
–repo-version
$ lerna publish --repo-version 1.0.1# applies version and skips `Select a new version for...` prompt
このフラグを指定して実行すると、publish
はバージョン選択プロンプトをスキップし、指定されたバージョンを使用します。 公開するバージョンが既にわかっている場合に、ユーザー入力プロンプトをバイパスするのに便利です。
–message,-m
このフラグを指定して実行すると、publish
は発行のためにバージョン更新をコミットするときに指定されたメッセージを使用します。 Commitizenやsemantic-releaseを使用するプロジェクトなど、コミットメッセージが特定のガイドラインに従うことを期待するプロジェクトにlernaを統合するのに便利です。
メッセージに%s
が含まれている場合、新しいグローバルバージョンのバージョン番号に接頭辞”v”が付いたものに置き換えられます。 これは、--independent
を使用するときに”グローバル”バージョンがないため、デフォルトの”固定”バージョン管理モードを使用する場合にのみ適用されることに注意してくださ
更新
$ lerna updated
最後のリリース(最後のgitタグ)以降に変更されたpackages
を確認します。
Lernaは最後に作成されたgitタグを決定し、git diff --name-only v6.8.1
を実行して、そのタグ以降に変更されたすべてのファイルを取得します。 次に、更新されたファイルを持つパッケージの配列を返します。
publish
コマンドの設定はupdated
コマンドにも影響することに注意してください。 例えばconfig.publish.ignore
–json
$ lerna updated --json
このフラグを指定して実行すると、updated
は次の形式のオブジェクトの配列を返します:
クリーン
$ lerna clean
すべてのパッケージからnode_modules
ディレクトリを削除します。
lerna clean
は--ignore
、--scope
、および--yes
フラグを尊重します(フラグを参照)。
diff
$ lerna diff $ lerna diff# diff a specific package$ lerna diff package-name
最後のリリース以降のすべてのパッケージまたは単一のパッケージをDiffします。
は
lerna updated
に似ています。 このコマンドはgit diff
を実行します。
ls
$ lerna ls
現在のLernaリポジトリ内のすべての公開パッケージを一覧表示します。
lerna ls
は--ignore
および--scope
フラグを尊重します(フラグを参照)。
–json
$ lerna ls --json
このフラグを指定して実行すると、ls
は次の形式のオブジェクトの配列を返します:
run
そのスクリプトを含む各パッケージでnpmスクリプトを実行します。 スクリプトの実行に破線の引数を渡すには、ダブルダッシュ(--
)が必要です。
lerna run
--concurrency
, --scope
, --ignore
, --stream
, および--parallel
フラグ(フラグを参照)。
$ lerna run --scope my-component test
注:
--parallel
フラグを使用する場合は、このコマンドのスコープ(および以下のlerna exec
)を制限することをお勧めします。 Ymmv
exec
$ lerna exec -- <command> # runs the command in all packages$ lerna exec -- rm -rf ./node_modules$ lerna exec -- protractor conf.js
各パッケージで任意のコマンドを実行します。 スポーンされたコマンドに破線のフラグを渡すにはダブルダッシュ(--
)が必要ですが、すべての引数が位置指定されている場合は必要ありません。
lerna exec
--concurrency
, --scope
, --ignore
, および--parallel
フラグ(フラグを参照)。
$ lerna exec --scope my-component -- ls -la
実行時間の長いプロセスを生成するには、--parallel
フラグを渡します:
# transpile all modules as they change in every package$ lerna exec --parallel -- babel src -d lib -w
また、環境変数を使用して現在のパッケージの名前を取得することもできますLERNA_PACKAGE_NAME
:
$ lerna exec -- npm view $LERNA_PACKAGE_NAME
また、環境変数を介して複雑なdir構造体で、ルートdirにあるスクリプトを実行することもできますLERNA_ROOT_PATH
:
$ lerna exec -- node $LERNA_ROOT_PATH/scripts/some-script.js
ヒント:コマンドは、指定された同時実行を使用して並列に生成されます(
--parallel
を除く)。 出力はパイプ処理されるため、確定的ではありません。 コマンドを1つのパッケージで次々に実行したい場合は、次のように使用します:
$ lerna exec --concurrency 1 -- ls -la
–bail
$ lerna exec --bail=<boolean> <command>
このフラグは、生成されたサブプロセスのいずれかによってスローされたエラーが発生したときにexec
コマンドが実行を停止するかどうかを示します。 デフォルト値はtrue
です。
import
$ lerna import <path-to-external-repository>
コミット履歴を持つ<path-to-external-repository>
のパッケージをpackages/<directory-name>
にインポートします。 元のコミットの作成者、日付、メッセージは保存されます。 コミットは現在のブランチに適用されます。
これは、既存のスタンドアロンパッケージをLernaリポジトリに集めるのに便利です。 各コミットは、パッケージディレクトリに対する相対的な変更を行うように変更されます。 そのため、たとえば、package.json
を追加したコミットでは、代わりにpackages/<directory-name>/package.json
が追加されます。
Misc
Lernaは、コマンドの実行中にエラーが発生したときにlerna-debug.log
ファイル(npm-debug.log
と同じ)にログを記録します。
Lernaはスコープ付きパッケージもサポートしています。
引数なしでlerna
を実行すると、すべてのコマンド/オプションが表示されます。
json
{ "lerna": "2.0.0", "version": "1.1.3", "commands": { "publish": { "ignore": }, "bootstrap": { "ignore": "component-*" } }, "packages": }
-
lerna
: 使用されているLernaの現在のバージョン。 -
version
: リポジトリの現在のバージョン。 -
commands.publish.ignore
:lerna updated/publish
に含まれないglobsの配列。 これは、README.md
タイプミスの修正など、変更のために不必要に新しいバージョンを公開するのを防ぐために使用します。 -
commands.bootstrap.ignore
:lerna bootstrap
コマンドの実行時にブートストラップされないglobsの配列。 -
commands.bootstrap.scope
:lerna bootstrap
コマンドの実行時にブートストラップされるパッケージを制限するglobsの配列。 -
packages
: パッケージの場所として使用するglobsの配列。
Common devDependencies
ほとんどのdevDependencies
はLernaレポのルートにプルアップできます。
これにはいくつかの利点があります:
- すべてのパッケージは、指定された依存関係の同じバージョンを使用します
- GreenKeeperのような自動ツールを使用して、ルートの依存関係を最新の状態に保つことができます
- 依存関係のインストール時間が短縮されます
- より少ないストレージが必要です
devDependencies
は、”バイナリ”実行可能ファイルを提供することに注意してください。npmスクリプトで使用されるスクリプトは、使用される各パッケージに直接インストールする必要があります。
たとえば、この場合、lerna run nsp
(およびパッケージのディレクトリ内のnpm run nsp
)が正しく動作するためには、nsp
依存関係が必要です:
{ "scripts": { "nsp": "nsp" }, "devDependencies": { "nsp": "^2.3.3" }}
Lernaへのフラグ
オプションは、設定(lerna.json
)またはコマンドラインから取得できます。 さらに、configのオプションは最上位レベルに存在するか、特定のコマンドに適用される可能性があります。
:
{ "lerna": "x.x.x", "version": "1.2.0", "exampleOption": "foo", "command": { "init": { "exampleOption": "bar", } },}
この場合、exampleOption
はinit
を除くすべてのコマンドで”foo”になり、ここでは”bar”になります。 いずれの場合も、コマンドラインで--example-option=baz
を使用して”baz”に上書きすることができます。
–concurrency
Lernaがタスクを並列化するときに使用するスレッドの数(デフォルトは4
)
$ lerna publish --concurrency 1
–scope
は、コマンドをパッケージのサブセットにスコープします。
$ lerna exec --scope my-component -- ls -la
$ lerna run --scope toolbar-* test
—
以降、スクリプトまたはコマンドを実行するときは、指定されたref
以降に更新されたパッケージに操作のスコープを設定します。 ref
が指定されていない場合は、デフォルトで最新のタグが使用されます。
最新のタグ以降に変更されたパッケージの内容を一覧表示します:
$ lerna exec --since -- ls -la
master
以降に変更されたすべてのパッケージのテストを実行します:
$ lerna run test --since master
以降に変更されたすべてのパッケージを一覧表示しますsome-branch
:
$ lerna ls --since some-branch
これは、ref
から--since
オプションとして使用できるため、PRが入るターゲットブランチを取得できる場合、CIで使用するときに特に便利です。 これは、機能ブランチだけでなく、マスターに入るPRsにも適しています。
–ignore
は、コマンド実行時にパッケージのサブセットを除外します。
$ lerna bootstrap --ignore component-*
ignore
フラグは、bootstrap
コマンドと共に使用すると、lerna.json
でcommands.bootstrap
キーの下に設定することもできます。 コマンドラインフラグは、このオプションよりも優先されます。
{ "lerna": "2.0.0", "version": "0.0.0", "commands": { "bootstrap": { "ignore": "component-*" } }}
ヒント:globは、パッケージが存在するディレクトリ名ではなく、
package.json
で定義されたパッケージ名と照合されます。
–include-filtered-dependencies
注:これは
--scope
および--ignore
フラグを上書きします。つまり、
--ignore
フラグに一致するパッケージがブートストラップされている別のパッケージに依存している場合、ブートストラップされます。
これは、設定されている他のパッケージに依存する単一のパッケージを”設定”したい場合に便利です。
$ lerna bootstrap --scope my-component --include-filtered-dependencies# my-component and all of its dependencies will be bootstrapped
–loglevel
レポートするログのレベル。 失敗すると、すべてのログがlerna-debugに書き込まれます。現在の作業ディレクトリにログインします。
設定よりも高いレベルのログが表示されます。 デフォルトは”info”です。
–max-buffer
基になる各プロセス呼び出しの最大バッファ長を設定します。 たとえば、lerna import
の実行中に、より多くのコミットを持つリポジトリをインポートしたい場合に便利です。 その場合、組み込みバッファの長さは十分ではない可能性があります。
–no-sort
デフォルトでは、すべてのタスクは、問題のパッケージの依存関係を尊重するために、トポロジカルにソートされた順序でパッケージに実行されます。 サイクルは、lerna呼び出し全体で一貫性が保証されていない方法で、ベストエフォートベースで壊れています。
トポロジカルソートは、依存関係の多いパッケージの数が少ない場合や、一部のパッケージの実行に不釣り合いに長い時間がかかる場合に、同時実行のボ --no-sort
オプションは並べ替えを無効にし、代わりに最大の同時実行性を持つ任意の順序でタスクを実行します。
このオプションは、複数の”watch”コマンドを実行する場合にも役立ちます。 lerna run
はトポロジカルにソートされた順序でコマンドを実行するので、移動する前にコマンドを待ってしまう可能性があります。 これにより、”watch”コマンドを実行すると、通常は終了しないため、実行がブロックされます。 “Watch”コマンドの例は、--watch
CLIフラグを指定してbabel
を実行しています。
–hoist
repoルートにglob
に一致する外部依存関係をインストールして、すべてのパッケージで利用できるようにします。 これらの依存関係のバイナリは依存パッケージnode_modules/.bin/
ディレクトリにリンクされるため、npmスクリプトで使用できます。 オプションが存在するがglob
が指定されていない場合、デフォルトは**
です(すべてをホイストします)。 このオプションはbootstrap
コマンドにのみ影響します。
$ lerna bootstrap --hoist
--hoist
の背景については、ホイストのドキュメントを参照してください。
注意:パッケージが異なるバージョンの外部依存関係に依存している場合、最も一般的に使用されるバージョンがホストされ、警告が出力されます。
–nohoist
レポルートにglob
に一致する外部依存関係をインストールしないでください。 これは、特定の依存関係の巻き上げをオプトアウトするために使用できます。
$ lerna bootstrap --hoist --nohoist=babel-*
–npm-client
install
を使用して外部依存関係をインストールします。 Npm依存関係をインストールする方法を知っている実行可能ファイルである必要があります。
$ lerna bootstrap --npm-client=yarn
lerna.json
:
{ ... "npmClient": "yarn"}
–use-workspaces
はYarn Workspacesとの統合を可能にします(以降で利用可能)。[email protected]+)。
配列内の値は、LernaがYarnに操作を委任するコマンドです(現在はブートストラップのみ)。--use-workspaces
がtrueの場合、packages
はpackage.json/workspaces.
の値によって上書きされます。lerna.json
:
{ ... "npmClient": "yarn", "useWorkspaces": true}
–stream
子プロセスからのストリーム出力をすぐに、元のパッケージ名の前に付けます。 これにより、異なるパッケージからの出力をインターリーブできます。
$ lerna run watch --stream
–parallel
は--stream
と似ていますが、同時実行とトポロジカルソートを完全に無視し、接頭辞付きのストリーミング出力を持つ一致するすべてのパッケージで、指定されたコ これは、babel src -d lib -w
などの長時間実行されるプロセスが多くのパッケージで実行される場合に推奨されるフラグです。
$ lerna exec --parallel -- babel src -d lib -w
–registry
このフラグを指定して実行すると、転送されたnpmコマンドはパッケージに指定されたレジストリを使用します。
これは、すべてのパッケージでレジストリ設定を明示的に設定したくない場合に便利です。プライベートレジストリを使用する場合など、個別にjsonファイル。
–temp-tag
が渡されると、このフラグは、最初に変更されたすべてのパッケージを一時的なdist-tag(lerna-temp
)にパブリッシュし、新しいバージョンをデフォルトのdist-tag(latest
)に移動することにより、デフォルトのパブリッシュプロセスを変更します。
Lernaはデフォルトでパッケージをトポロジカルな順序で(依存関係の前にすべての依存関係を)公開するので、これは一般的に必要ではありません。
Wizard
cliのガイダンス(lernaの使用を開始したり、新しいチームに導入しようとしている場合)を好む場合は、lerna-wizardを好むかもしれません。 これは、明確に定義された一連の手順をご案内します: