J'ai angular
dans mes dépendances au 1.5.11:
{
"dependencies": {
"angular": "1.5.11",
"angular-foundation": "0.7.0"
}
}
angular-foundation
Dépend de angular@>=1.3.0
.
Pourquoi Yarn installe-t-il [email protected]
En tant que dépendance imbriquée de fondation angulaire au lieu d'utiliser la version du projet? Cela provoque angular à exister deux fois dans l'application et ne fonctionne pas correctement:
node_modules angular (1.5.11) angular-foundation (0.7.0) node_modules angular (1.6.9)
Cela ne se produit pas avec [email protected] - npm utilise 1.5.11 pour l'application et le package.
Vous devez utiliser les résolutions Yarn
pour cela
https://yarnpkg.com/lang/en/docs/selective-version-resolutions/
Alors votre package.json
deviendra comme ça
{
"name": "depdencies",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"angular": "1.5.11",
"angular-foundation": "0.7.0"
},
"resolutions": {
"**/angular": "1.5.11"
}
}
Ce qui indique à yarn
que tout enfant angular sera définie sur 1.5.11
. Après la mise à jour de cette exécution ci-dessous
$ rm yarn.lock
$ yarn