web-dev-qa-db-ja.com

ローカルパッケージの依存関係をヤーンする

次のフォルダー構造があります。

~ (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として変換されます。

とにかく絶対パスなしでそれを達成する方法はありますか?

11
Laxmana

はい、 yarn link を使用します。基本的に糸リンクを使用すると、ローカルプロジェクトへのシンボリックリンクを作成できます。

フォルダーlibBに移動して、次を実行します。

yarn link

次に、フォルダーlibAに移動して実行します。

yarn link libB

[〜#〜] note [〜#〜]libBpackage.json内の名前でなければならないlibBフォルダー

その後、通常どおりlibBコードを要求できます。

const libB = require('libB')
23
Fabio Antunes