問題タブ [lerna]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
npm - ローカル プロジェクトがローカルの lerna パッケージに依存できるようにする
開発中のプロジェクトの lerna リポジトリがあります。相互に依存するいくつかのパッケージがあります。開発を容易にするために、どのパッケージも公開されておらず、互いに最新バージョンに依存しています。
ディレクトリツリー
foo/パッケージ/コア/package.json
bar
lerna プロジェクトをテストするために使用している別のプロジェクト があります。現在、ローカルの依存関係を使用してその依存関係にリンクしていますfile:
:
バー/package.json
このアプローチは、私に厄介な世界をもたらしました。
- 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 を開きます。
node.js - 2 つの lerna モノレポ間の相互依存性
同時に開発したい2つのモノレポがあります。構造は次のとおりです。
モノレポA
モノレポB
依存関係は次のとおりです。
私は使用しています
両方の monorepos でコマンドを実行します。これにより、1 つの monorepo 内ですべてがうまくいきます。今はレギュラーでやってます
依存関係に従って monorepoB 内。
これは componentB2 では機能しますが、componentB1 では失敗します。問題は、リンクされたコンポーネント自体が内部パッケージに依存している場合、リンクが機能しないことです。
monorepoB で npm ls componentA2 を実行すると、
ただし、componentA1 へのリンクは有効です (ただし、推移的な依存関係はありません)。
この問題を解決するには?