開発中のプロジェクトの lerna リポジトリがあります。相互に依存するいくつかのパッケージがあります。開発を容易にするために、どのパッケージも公開されておらず、互いに最新バージョンに依存しています。
ディレクトリツリー
foo/
packages/
core/
package.json
errors/
package.json
foo/パッケージ/コア/package.json
{
...
dependencies: {
"@foo/errors": "*"
}
}
bar
lerna プロジェクトをテストするために使用している別のプロジェクト があります。現在、ローカルの依存関係を使用してその依存関係にリンクしていますfile:
:
バー/package.json
{
...
dependencies: {
"@foo/core": "../foo/packages/core"
}
}
このアプローチは、私に厄介な世界をもたらしました。
- npm を使用すると、常にENOENT .DELETE エラーが発生します。私のpackage-lock.jsonを削除して再インストールすると、私の人生は何年もかかりました。
- 糸を使用して、私はできませんでし
yarn install
たbar
。Yarn は への依存関係をたどり、 にfile:
依存し@foo/core
ていることを確認し、@foo/errors
lerna のシンボリック リンクについては認識していません。これにより失敗し、見つからないことがわかります@foo/errors
。
これにより、このプロジェクトの実際のコードを書くことは、この混乱した依存関係管理の二次的なものになりました。
このプロジェクト構造を機能させるにはどうすればよいですか (かなり単純だと思いますか?)。この時点で、lerna/yarn/npm/pnpm/shell scripts/MS DOS を開きます。