1. ホーム
  2. node.js

[解決済み] Yarnのローカルパッケージの依存関係

2022-03-06 09:55:34

質問

以下のようなフォルダ構成になっています。

~ (user home folder)
 - api
    ...
    - package.json
 - lib
    - libA
      ...
      package.json
    - libB
      ...
      package.json

libA/package.json 次のようなローカル依存関係があります。

"dependencies": {
    "libB": "../libB",
  },

つまり、libAはlibBに依存しているのです。

今度は api プロジェクトにローカルパッケージとして追加する libA . を実行します。 cd api && yarn add ../lib/libA と表示され、次のようなエラーが発生します。 /Users/a_user/libB doesn't exist . 私は、yarn が現在のディレクターとして見る ~/api の依存関係を読んでいるときです。 libA を見ると ../libB と翻訳し、それを ~/libB としてではなく ~/lib/libB

絶対パスなしで達成する方法はありますか?

どのように解決するのですか?

はい、あります。 糸リンク . 基本的に、yarn linkはローカルプロジェクトにシンボリックリンクを作成することができます。

フォルダに移動します。 libB を実行します。

yarn link

次に、フォルダの libA を実行します。

yarn link libB

ノート : その libBpackage.json の中にある libB フォルダ

そして libB のコードは通常通りです。

const libB = require('libB')