NPM signale une dépendance non satisfaite après avoir effectué une mise à jour récursive/profonde
npm --depth 9999 update
npm ls
signale de nombreuses dépendances manquantes/non satisfaites, par exemple :
├─┬ @semantic-release/[email protected]
│ ├── @semantic-release/[email protected] deduped
│ ├── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ UNMET DEPENDENCY [email protected]
npm ERR! missing: [email protected], required by @semantic-release/[email protected]
npm init
npm i -D @semantic-release/exec
npm --depth 9999 update
package.json
de leur parent ou tout npm-shrinkwrap.json
de leur ancêtre.package-lock.json
et procéder à la résolution de toutes les dépendances, installer/mettre à jour/supprimer si nécessaire, puis mettre à jour le fichier de verrouillage avec l'arborescence résolue.On dirait que j'ai préparé un problème en double
La commande npm update --depth <number>
perd dev: true
pour les dépendances devDependencies mises à jour.
npm update --depth <number>
pour des packages avec des dépendances devDependencies pas récentesIl perd dev: true
pour les dépendances devDependencies mises à jour
loses-dev-for-dev-deps
npm i
npm update --depth 7
Je m'attends à ce que cette action conserve dev: true
pour les dépendances devDependencies mises à jour
Peut-être lié au #944
Je constate également que npm update
oublie le drapeau dev
pour les dépendances lorsque --depth
est supérieur à 0. Peut-être que ce n'est pas nécessaire pour une profondeur inférieure ?
J'ai découvert que le drapeau dev est restauré après la réinstallation des modules de nœud ( rm -rf node_modules; npm install
)
Je vois le même problème de perdre le drapeau dev
après avoir utilisé npm update --depth
mais uniquement pour les dépendances de développement de mon projet qui sont de vraies dépendances à une autre dépendance.
Dans mon cas, une autre dépendance ajoute "@types/node" comme dépendance mais dans mon projet l'a comme dépendance dev :
package.json de la dépendance "a":
{
name: "a",
dependencies: {
"@types/node": ">=5.10"
}
}
mon projet:
{
dependencies: {
"a": "1.0.0"
},
devDependencies: {
"@types/node": "^12.0.0",
"somethingElse": "1.0.0"
}
}
après npm update --depth=99
le drapeau dev est ok pour somethingElse
mais il est faux pour @type/node
edit: npm install
semble stocker le @types/node
tant que dépendance dev à la racine + en tant que dépendance au node_module imbriqué au composant "a".
npm update
installe une seule fois en tant que dépendance à la racine
Commentaire le plus utile
On dirait que j'ai préparé un problème en double
Quoi / Pourquoi
La commande
npm update --depth <number>
perddev: true
pour les dépendances devDependencies mises à jour.Lorsque
npm update --depth <number>
pour des packages avec des dépendances devDependencies pas récentesOù
Comment
Comportement actuel
Il perd
dev: true
pour les dépendances devDependencies mises à jourÉtapes pour reproduire
loses-dev-for-dev-deps
npm i
npm update --depth 7
Comportement prévisible
Je m'attends à ce que cette action conserve
dev: true
pour les dépendances devDependencies mises à jourLes références
Peut-être lié au #944