J'ai la structure de dossiers suivante:
~ (user home folder)
- api
...
- package.json
- lib
- libA
...
package.json
- libB
...
package.json
Dans libA/package.json
J'ai la dépendance locale suivante
"dependencies": {
"libB": "../libB",
},
LibA dépend donc de libB.
Maintenant, je veux à l'intérieur du projet api
ajouter en tant que package local libA
. J'exécute cd api && yarn add ../lib/libA
et j'obtiens l'erreur suivante/Users/a_user/libB doesn't exist
. Je comprends que Yarn voit en tant que directeur actuel ~/api
donc quand lit la dépendance de libA
il voit ../libB
et le traduire par ~/libB
et pas comme ~/lib/libB
Existe-t-il de toute façon pour y parvenir sans chemins absolus?
Oui, en utilisant lien de fil . Fondamentalement, le lien de fil vous permet de créer des liens symboliques vers des projets locaux.
Accédez au dossier libB
et exécutez:
yarn link
Allez ensuite dans le dossier libA
et exécutez:
yarn link libB
[~ # ~] note [~ # ~] : que libB
doit être le nom sur le package.json
dans le dossier libB
Ensuite, vous pouvez demander votre code libB
comme d'habitude:
const libB = require('libB')