npm LinuxWindowsnpm

npm: После смены npm registry установка скачивает старые зависимости

  • Обновлено
  • Чтение ≈ 3 минуты

Краткий ответ

После смены npm registry установка по-прежнему обращается к прежнему адресу, потому что в lock-файле уже сохранены resolved URL архивов, настройки областей пакетов или прокси. Нужно определить, какой уровень конфигурации задаёт адрес.

В этой статье
  1. Симптомы и условия возникновения
  2. Причины и как их отличить
  3. Пошаговая диагностика и решение
  4. Как проверить результат и что делать, если не помогло

#Симптомы и условия возникновения

После смены npm registry установка по-прежнему обращается к прежнему адресу, потому что в lock-файле уже сохранены resolved URL архивов, настройки областей пакетов или прокси. Нужно определить, какой уровень конфигурации задаёт адрес. Для начала проверьте используемую версию среды и точный текст ошибки на копии проекта, не меняя рабочий сервер.

#Причины и как их отличить

Возможная причинаКак узнатьЧто делать
В lock-файле прописан resolvedВ этой ситуации наблюдается конкретный диагностический признак. Сопоставьте его с журналом ошибки и результатом соответствующей проверки, прежде чем выбирать исправление.npm ci скачивает по старому URLСверить ссылку и воспроизводимо обновить lock на копии.
Отдельный registry для scopeВ этой ситуации наблюдается конкретный диагностический признак. Сопоставьте его с журналом ошибки и результатом соответствующей проверки, прежде чем выбирать исправление.@company:registry указывает на старый хостОбновить область по правилам организации.
Конфигурация перекрывается окружениемВ этой ситуации наблюдается конкретный диагностический признак. Сопоставьте его с журналом ошибки и результатом соответствующей проверки, прежде чем выбирать исправление.Вывод npm config get registry не совпадает с ожидаемой командой в CIПроверить env и проектный .npmrc.

#Пошаговая диагностика и решение

  1. 1. Сохраните копии конфигурации и lockСделайте копию package.json, package-lock.json и проектного .npmrc без секретных ключей. Не удаляйте lock-файл: это может обновить все зависимости и нарушить воспроизводимость сборки.
  1. 2. Установите адрес, который считает текущим npmВ корне проекта выполните npm config get registry, затем изучите .npmrc в проекте и параметры запускного окружения. У областей @scope могут быть свои адреса.
  2. Читает адрес, но не раскрывает токен; если адрес неверен, проверьте уровень настройки
    Linux · Терминал (Bash)Команда
    Читает адрес, но не раскрывает токен; если адрес неверен, проверьте уровень настройки.
    npm config get registry
  1. 3. Проверьте lock-файл без публикации секретовВ редакторе выполните поиск по старому домену в package-lock.json; обратите внимание на поля resolved для пакетов. Не редактируйте такие адреса массовой заменой без понимания структуры.
  1. 4. Проверьте область пакетаЕсли зависимость начинается с @scope/, проверьте параметр @scope:registry на нужном уровне .npmrc. Частные пакеты нельзя автоматически отправлять на публичный реестр.
  1. 5. Проверьте URL безопасным чтениемВ тестовой копии выполните npm view имя-пакета dist.tarball --registry=https://registry.npmjs.org/ для публичного пакета. Для частного используйте разрешённый registry и учётную запись с доступом.
  1. 6. Обновите lock в отдельной веткеНа копии проекта выполните штатный npm install --package-lock-only при согласованной конфигурации реестра. Затем проверьте diff lock-файла и убедитесь, что не произошло нежелательной смены версий; npm может сохранять существующие URL.
  1. 7. Убедитесь в источнике скачиванияВ изолированной копии проверьте verbose-журнал npm ci и фактические домены запросов. Если npm продолжает обращаться к старому хосту, изучите resolved, параметры конкретного registry/прокси или пересоздайте lock контролируемым способом после согласования.

#Как проверить результат и что делать, если не помогло

Установка использует утверждённый реестр, версии зависимостей не сменились неожиданно, лог не содержит обращений к запрещённому прежнему адресу.

Если неисправность повторилась, выпишите первый код ошибки и действие, на котором она возвращается. Сравните версию Node.js/npm, рабочий каталог, настройки процесса и журнал тестового запуска. Откатите только внесённые изменения из предварительно сохранённой копии, затем разберите причину на отдельной среде.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.