Yarnを使用してモノレポにパッケージをインストールしないようにする方法


10

LernaYarnのワークスペースを使用してモノレポを構築しました。

すべてが正常に動作しますが、パッケージに新しい依存関係をインストールするたびに(彼をAと呼びましょう)、次のように使用します。

yarn add <package_name>

ヤーンはそれを追加し、Aが依存しないinstallパッケージでさえ、monorepo内のすべてのパッケージのスクリプトをトリガーします。

とにかくこれを避けるには?理由もなく、インストールに少し時間がかかります。


LernaとYarnの両方のパッケージを使用しましたか?なぜLernaではないのですか?また、Lernaでパッケージを追加してスコープを設定してみましたか?github.com/lerna/lerna/tree/master/commands/add
kbariotis

Lernaを使用してパッケージとYarnワークスペースを公開およびバージョン管理し、依存関係を簡単に管理しています。私はあなたの提案を試してみましたが、うまくいきませんでした。:)
Erazihel

回答:



4

あなたはと糸2を試すことができますnodeLinker: node-modulesの中で.yarnrc.yml。ヤーン2は、依存関係が変更されたパッケージでのみ再ビルドをトリガーすることを保証します。これは、ヤーン1によって保証されなかったものです。ただし、新しいパッケージを追加した後、それらが異なる方法でホイストされると、一見関連のないパッケージが再ビルドされる場合は非常にまれなケースになります。 、しかしこれはめったに起こりません。


私はあなたの提案を試みましたが、残念ながら結果はまだ同じであるようです...:/
Erazihel

4

スコープを使用して、パッケージを特定のモジュールに追加します。

lerna add some_package_1 --scope=some_module_x

詳細:https : //github.com/lerna/lerna/tree/master/commands/add#readme


@kbariotisが私の質問へのコメントでそれを提案したのはそれです。私が試しましたが、結果は同じです。
エラジヘル

package.jsonの1つを更新できます
xdeepakv

私はそうしました、そしてもう一度結果はまだ同じです
エラジヘル
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.