web-dev-qa-db-fra.com

NPM extrait les packages corrompus de l'instance de Verdaccio

Lorsque j'exécute un npm install dans une application, j'essaie de configurer un dev. environnement pour les paquets corrompus finit par être extrait de mon instance proxy Verdaccio.

Pour reproduire

Étapes pour reproduire le comportement:

  1. Configurer package.json pour mon projet, y compris l'ajout de mes dépendances, etc.
  2. Configurer mon système local pour utiliser mon instance Verdaccio: npm set registry [[Verdaccio Server URL]]:4873.
  3. Effectuez npm install dans le répertoire où se trouve le package.json.

Résultats

J'obtiens une tonne de sortie similaire à la suivante:

npm http fetch GET 200 [[Proxy NPM Site]]/@angular%2fplatform-browser-dynamic/-/platform-browser-dynamic-5.2.11.tgz 6430ms
npm WARN tarball tarball data for @angular/[email protected] (sha512-NT8xYl7Vr3qPygisek3PlXqNROEjg48GXOEsDEc7c8lDBo3EB9Tf328fWJD0GbLtXZNhmmNNxwIe+qqPFFhFAA==) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for [email protected] (sha512-Ubldcmxp5np52/ENotGxlLe6aGMvmF4R8S6tZjsP6Knsaxd/xp3Zrh50cG93lR6nPXyUFwzN3ZSOQI0wRJNdGg==) seems to be corrupted. Trying one more time.
npm WARN tarball tarball data for [email protected] (sha1-1B/UIVTAWTQiy4PEc6OCiqdSW/U=) seems to be corrupted. Trying one more time.

Notez le nom codé de l'URL du package, dans ce cas @angular%2fplatform-browser-dynamic. Je ne reçois pas cela lorsque j'ai défini mon proxy sur https://registry.npmjs.org/.

Bien sûr, ce que je voudrais faire, c'est pouvoir effectuer un npm install comme si j'étais connecté au registre officiel.

Configuration et fichiers journaux

Informations supplémentaires

  • NPM Version: Latest - 6.1.0 mais cela arrive avec les anciennes versions.
  • Version du nœud sur laquelle Verdaccio fonctionne: 10.4.0
  • Version du nœud sur laquelle le client s'exécute: 10.4.0

Environnement : Windows Server 2012 (SP2)

Le serveur sur lequel Verdaccio se trouve n'est pas derrière un proxy.

8
Chris K.

Ainsi, après avoir effectué les opérations suivantes, tout a fonctionné comme prévu:

rmdir /S /Q node_modules (or rm -rf node_modules on a *nix derivative OS)
del package-lock.json (or rm package-lock.json on a *nix derivative OS)
npm set registry [[My Verdaccio Instance's IP]]:4873
npm cache clean --force
npm install --force --verbose --no-bin-links
9
Chris K.

Si vous revenez à NPM version 3, il recommencera à fonctionner. Publier sur Verdaccio avec NPM @ 3 puis tirer avec NPM @> = 5 me posait ce problème.

2
cjbarth

J'ai dû fermer le cache de Verdaccio

uplinks:
  npmjs:
    url: https://registry.npmjs.org/
    cache: false
0
seppestaes

Cela semble être un problème avec votre nœud/npm et non avec Angular CLI.

Je vous suggère d'essayer d'utiliser

  1. npm clear cache --force
  2. npm install

Merci.

0
iamsurajdc