От новичка до гуру: Курсы программирования на CyberDuff

Ошибка Azure DevOps при установке npm

У нас есть конвейер сборки CD / CI Azure DevOps, который сегодня внезапно перестает работать. Он успешно применяется в нашем конвейере в течение нескольких месяцев.

Компонент, который терпит неудачу, - это установка npm, она терпит неудачу со следующей ошибкой в ​​подробном журнале:

введите описание изображения здесь

Я погуглил, и некоторые предложили запустить: npm cache clear --force перед установкой npm. Я пробовал это, но ошибка сохраняется.

Затем я смотрю в журнал раньше и вижу следующее:

введите описание изображения здесь

Я попытался перейти к https://github.com/sass/node-sass/releases/download/v4.12.0/win32-x64-83_binding.node и получил сообщение Страница не найдена.

Я не могу сказать, связано ли это с основной причиной сбоя npm, но, похоже, это подтверждает мое предположение, что что-то не так с npm install на момент написания (17 ноября 2020 г.).

Кто-нибудь еще, использующий Azure DevOps для CD / CI, сталкивается с такой же проблемой? Я просматриваю страницу инцидента NPM и вижу эту проблему https://status.npmjs.org/incidents/r1tlhscrw3r6 но это надо было исправить.


  • Попробуйте запустить npm audit, чтобы проверить, не обнаружит ли он каких-либо проблем. Если это так, вы можете исправить их, запустив npm audit fix. 17.11.2020
  • @Fylix. Есть ли шанс, что вы недавно обновляли node.js на сервере? Похоже, он пытается построить node-sass против неподдерживаемой версии узла. 17.11.2020
  • Привет, Макс, это делается с помощью агента конвейера Azure DevOps, поэтому у меня нет контроля над какой-либо локальной или какой-либо конкретной виртуальной машиной для этой установки node.js. Когда я просматривал журнал, я заметил, что версия npm обновилась с 6.14.6 (наша последняя сборка) до 6.14.8. 18.11.2020
  • Версия по умолчанию была обновлена ​​на агентах. Вы можете увидеть критические изменения изображений на github. github.com/actions/virtual-environments/issues/1953. Переход с Node.js 12.x на 14.x. 18.11.2020

Ответы:


1

Недавно в образы агентов Azure DevOps по умолчанию для образов по умолчанию были внесены критические изменения. версия Node.js. Он был увеличен с 12.x до 14.x.

Критические изменения

Версия Node.JS по умолчанию на изображениях будет обновлена ​​с 12.x до 14.x.

Целевая дата

Для образов Windows и Ubuntu внедрение этого изменения начнется 2 ноября 2020 г. и займет 3-4 дня. Для образов MacOS развертывание начнется 9 ноября.

Мотивация к изменениям

На изображениях мы всегда по умолчанию устанавливаем LTS-версию Node.JS. 27.10.2020 Node.JS 14 стал LTS-версией. 30.11.2020 Node.JS 12 будет переведен в режим обслуживания.

Возможное воздействие

Если вы полагаетесь на версию Node.JS по умолчанию, а ваш проект несовместим с Node.JS 14, он может начать давать сбой.

Способы смягчения

Рассмотрите возможность использования Node.js Задача установщика инструментов (для Azure DevOps) и узел настройки (для действий GitHub), чтобы вернуться к Node.JS 12. Переключение займет меньше секунды. Node.JS 12 по-прежнему будет доступен в образах вместе с Node.JS 8, 10.

17.11.2020
  • Спасибо @Matt, я проверю его, но похоже, что это он, наши Azure Pipelines также используют спецификацию агента windows-2019. 18.11.2020

  • 2

    Основываясь на ответе @ Matt, я отправлю фрагмент yml, который вам нужно исправить:

    - task: NodeTool@0
      inputs:
        versionSpec: '12.x' 
    
    21.11.2020
    Новые материалы

    Путь AWS  — «Изучение машинного обучения — 10 начинающих ИИ и машинного обучения на AWS».
    Универсальный ресурсный центр для изучения искусственного интеллекта и машинного обучения. НОЛЬ или ГЕРОЙ, начните свое путешествие здесь. Получите решения и пройдите обучение у экспертов AWS...

    5 простых концепций Python, ставших сложными
    #заранее извините 1) Переменные x = 4 y = 5 Переменная в Python — это символическое представление объекта. После присвоения некоторого объекта переменной Python мы приобретаем..

    «Освоение вероятности: изучение совместной, предельной, условной вероятности и теоремы Байеса —…
    Виды вероятности: Совместная вероятность Предельная вероятность Условная вероятность Диаграмма Венна в вероятностях: В “Set Theory” мы создаем диаграмму Венна...

    Основы Spring: Bean-компоненты, контейнер и внедрение зависимостей
    Как лего может помочь нашему пониманию Когда мы начинаем использовать Spring, нам бросают много терминов, и может быть трудно понять, что они все означают. Итак, мы разберем основы и будем..

    Отслеживание состояния с течением времени с дифференцированием снимков
    Время от времени что-то происходит и революционизирует часть моего рабочего процесса разработки. Что-то более забавное вместо типичного утомительного и утомительного процесса разработки. В..

    Я предполагаю, что вы имеете в виду методы обработки категориальных данных.
    Я предполагаю, что вы имеете в виду методы обработки категориальных данных. Пожалуйста, проверьте мой пост Инструментарий специалиста по данным для кодирования категориальных переменных в..

    Игра в прятки с данными
    Игра в прятки с данными Я хотел бы, чтобы вы сделали мне одолжение и ответили на следующие вопросы. Гуглить можно в любое время, здесь никто не забивается. Сколько регионов в Гане? А как..