次のフォルダー構造があります。
~ (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
[〜#〜] note [〜#〜]:libB
はpackage.json
内の名前でなければならないlibB
フォルダー
その後、通常どおりlibB
コードを要求できます。
const libB = require('libB')