Устранение ошибки WSL2: «getaddrinfo EAI_AGAIN реестр.npmjs»

При работе с подсистемой Windows для Linux 2 (WSL2) вы можете столкнуться с сообщением об ошибке «Запрос WSL2 к https://registry.npmjs.org/yarn не выполнен, причина: реестр getaddrinfo EAI_AGAIN»..npmjs”. Эта ошибка обычно возникает, когда среда WSL2 не может разрешить DNS для реестра npm. В этой статье мы рассмотрим различные способы устранения и устранения этой ошибки.

Метод 1. Проверьте настройки DNS
Одной из распространенных причин этой ошибки являются неправильные настройки DNS. Чтобы это исправить, выполните следующие действия:

  1. Откройте терминал WSL2.
  2. Выполните команду cat /etc/resolv.conf, чтобы просмотреть текущие настройки DNS.
  3. Если файл содержит неправильные или недопустимые адреса DNS, вы можете отредактировать его с помощью текстового редактора, например nano или vim. Например, sudo nano /etc/resolv.conf.
  4. Замените существующие DNS-адреса надежными. Вы можете использовать общедоступные DNS-серверы, такие как Google DNS (8.8.8.8) или Cloudflare DNS (1.1.1.1).
  5. Сохраните изменения и выйдите из текстового редактора.
  6. Попробуйте еще раз запустить команду npm или Yarn, чтобы проверить, сохраняется ли ошибка.

Способ 2: перезапустить WSL2
Иногда перезапуск среды WSL2 может решить проблему. Для этого:

  1. Откройте PowerShell от имени администратора.
  2. Выполните команду wsl --shutdown, чтобы завершить работу всех работающих экземпляров WSL2.
  3. Подождите несколько секунд, а затем снова откройте терминал WSL2.
  4. Проверьте, работает ли команда npm или Yarn без ошибок.

Метод 3. Очистка кэша DNS
Очистка кэша DNS также может помочь устранить эту ошибку. Вот как:

  1. Откройте терминал WSL2.
  2. Выполните команду sudo service systemd-resolved restart, чтобы перезапустить службу DNS-преобразователя.
  3. Повторно запустите команду npm или Yarn и проверьте, решена ли проблема.

Метод 4: обновление WSL2 и пакетов
Убедитесь, что вы используете последнюю версию пакетов WSL2 и npm. Чтобы обновить WSL2, выполните следующие действия:

  1. Откройте PowerShell от имени администратора.
  2. Выполните команду wsl --update, чтобы обновить ядро ​​и компоненты WSL2.
  3. Перезагрузите компьютер после обновления.
  4. Обновите npm и Yarn до последних версий с помощью команд npm install -g npmи npm install -g yarn.
  5. Повторите запуск команд npm или пряжи.

Метод 5: используйте альтернативный реестр
Если проблема не устранена, вы можете попробовать использовать альтернативный реестр для npm или Yarn. Например, вы можете переключиться на реестр Yarn Classic, выполнив команду npm set registry https://registry.yarnpkg.com/.
После внесения этого изменения повторите попытку запуска команд npm или Yarn.

Ошибка «getaddrinfo EAI_AGAIN Registry.npmjs» в WSL2 может расстраивать, но существует несколько способов ее устранения. Проверив настройки DNS, перезапустив WSL2, очистив кэш DNS, обновив WSL2 и пакеты, а также используя альтернативные реестры, вы можете устранить и решить эту проблему. Не забудьте выбрать метод, который лучше всего подходит для вашей ситуации, и убедитесь, что у вас надежное подключение к Интернету.