web-dev-qa-db-fra.com

Que signifie «invalide» lorsque vous utilisez la liste npm?

Je suis nouveau sur nodejs et je venais d'installer le module bower dans le monde. Depuis lors, la commande npm list donne la sortie suivante que j'ai recherchée sur le Web mais que je n'ai trouvé aucune aide:

**npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/chalk  
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex  
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/configstore  
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/got/node_modules/object-assign  
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/latest-version/node_modules/package-json/node_modules/registry-url  
npm ERR! invalid: [email protected] /usr/local/lib/node_modules/bower/node_modules/update-notifier/node_modules/string-length/node_modules/strip-ansi  
npm ERR! not ok code 0**

Le reste de la sortie est normal et répertorie les modules installés. Quelqu'un peut-il expliquer ce qui se passe?

42
user2229167

J'obtenais cette erreur en ayant le même paquet installé à la fois dans "dépendances" et "devDependencies" avec des versions différentes.

45
aaaristo

Cela signifie que quelque chose dépend, par exemple, de "async":"0.9.3" Mais quand ils le font require("async"), npm pense qu'ils obtiendront une autre version. Vérifiez également que les dépendances et leurs versions répertoriées dans votre fichier package.json Sont disponibles.

Si tout va bien, vous pouvez résoudre ce problème avec

npm update 

suivi par

npm install.
12
Ravi

J'obtenais cette erreur après avoir installé une version plus récente d'un module, sans mettre à jour mon package.json. Ainsi, le package.json nécessitait l'ancienne version, tandis que npm list détectait une version plus récente dans mon node_modules répertoire.

L'exécution de la commande suivante m'a débarrassé du message.

npm install {required_module}@{new_version} --save

6
Edo

J'obtenais une erreur connexe mais différente (mais j'ai fini ici, donc je réponds ici) où après avoir exécuté npm update J'aurais. (Aucun problème avec npm install, fwiw)

[email protected] /home/malcolm/myapp
├── [email protected]  invalid

Le package beeminder est celui que je maintiens, donc dans mon application principale, j'avais défini son semver sur latest. Cela semblait bien fonctionner auparavant, mais je suppose qu'une nouvelle version de npm ne l'aime pas.

J'ai pensé qu'il était raisonnable d'utiliser simplement ^1.4.3 parce que si j'introduis de nouvelles modifications, je change probablement mon propre code de toute façon. Mais si, pour une raison étrange, vous avez besoin de la dernière version d'un package (y compris les changements de rupture!), Vous pouvez utiliser >= comme préfixe au lieu de ^.

0
MalcolmOcean