2 votes

Azure DevOps échoue sur "npm install"

Nous avons un pipeline de build CD/CI Azure DevOps qui s'est arrêté de fonctionner soudainement aujourd'hui. Il a été invoqué avec succès dans notre pipeline pendant des mois.

Le composant qui échoue est le "npm install", il échoue avec l'erreur suivante dans le log détaillé :

entrer la description de l'image ici

J'ai fait des recherches et certaines suggestions ont suggéré d'exécuter : npm cache clear --force avant npm install. J'ai essayé cela mais la même erreur persiste.

Ensuite, j'ai regardé plus tôt dans le journal et ai vu ce qui suit :

entrer la description de l'image ici

J'ai essayé d'accéder à https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-83_binding.node et j'ai reçu le message "Page not found".

Je ne peux pas dire si cela est lié à la cause principale du dysfonctionnement de npm, mais cela semble soutenir mon hypothèse qu'il y a quelque chose qui ne va pas avec "npm install" à l'heure où j'écris ces lignes (17 novembre 2020).

D'autres personnes utilisant Azure DevOps pour CD/CI rencontrent-elles le même problème? J'ai consulté la page d'incident de NPM et j'ai vu cet incident https://status.npmjs.org/incidents/r1tlhscrw3r6 mais cela aurait dû être résolu.

4voto

Matt Points 2724

Récemment, un changement important a été apporté aux images d'agent Azure DevOps par défaut pour la version par défaut de Node.js. Il a été augmenté de 12.x à 14.x.

Changements importants

La version par défaut de Node.JS sur les images sera mise à jour de 12.x à 14.x

Date cible

Pour les images Windows, Ubuntu, le déploiement de ce changement commencera le 2 novembre 2020 et prendra 3 à 4 jours. Pour les images MacOS, le déploiement commencera le 9 novembre.

La motivation des changements

Sur les images, nous installons toujours la version LTS de Node.JS par défaut. Le 27 octobre 2020, Node.JS 14 est devenu la version LTS. Le 30 novembre 2020, Node.JS 12 passera en mode de maintenance.

Impact possible

Si vous dépendez de la version par défaut de Node.JS et que votre projet n'est pas compatible avec Node.JS 14, il pourrait commencer à échouer.

Moyens d'atténuation

Veuillez envisager d'utiliser la tâche Installer l'outil Node.js (pour Azure DevOps) et setup-node (pour GitHub Actions) pour revenir à Node.JS 12. Le passage se fera en moins d'une seconde. Node.JS 12 sera toujours disponible sur les images ainsi que Node.JS 8 et 10.

3voto

Grimace of Despair Points 1582

Basé sur @la réponse de Matt, je vais poster le fragment de yml dont vous avez besoin pour corriger ceci :

- tâche: NodeTool@0
  inputs:
    versionSpec: '12.x'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X