Ошибка «npm warn cli npm v11.0.0 does not support Node.js v18.20.5. This version of npm supports the following node versions»
При использовании npm, например:
npm list
Вы можете столкнуться с ошибкой:
npm warn cli npm v11.0.0 does not support Node.js v18.20.5. This version of npm supports the following node versions: `^20.17.0 || >=22.9.0`. You can find the latest version at https://nodejs.org/.
Ошибка сообщает, что версия npm, которая установлена на вашем компьютере, не совместима с версией Node.js, которая установлена на вашем компьютере.
Как проверить версию npm и Node.js
Чтобы проверить установленные версии, используйте команду
npm version
Пример вывода:
Чтобы посмотреть только версию Node.js, вы можете использовать команду:
node --version
Пример вывода:
v18.20.5
Как обновить npm и node
Как обновить npm
Пакет npm рекомендуется обновлять тем же самым способом, которым вы его и установили. Скорее всего, вы установили пакет npm из стандартных репозиториев вашего дистрибутива, поэтому вам достаточно выполнить обновление пакетов вашей ОС.
Как обновить node
Пакет node, скорее всего, был установлен в качестве зависимости пакета npm. В большинстве дистрибутивов этот пакет называется nodejs и он также должен обновляться вместе со всеми остальными пакетами операционной системы.
Почему тогда вообще может возникнуть проблема между несоответствием версий npm и Node.js? Дело в том, что в некоторых Linux (например, Arch Linux и всех производных от него дистрибутивах) имеется несколько вариантов пакетов Node.js:
blackarch/nodejs-lts-gallium extra/nodejs extra/nodejs-lts-hydrogen extra/nodejs-lts-iron
Если у вас установлена версия LTS, то в этом случае у вас и может возникнуть описанная ошибка «npm warn cli npm … does not support Node.js…».
Чтобы исправить эту ошибку, достаточно перейти на обычную, не LTS версию nodejs. Для этого выполните команду:
sudo pacman -S nodejs
Вам будет предложено удалить конфликтующий пакет — согласитесь на это:
looking for conflicting packages... :: nodejs-23.4.0-1 and nodejs-lts-hydrogen-18.20.5-1 are in conflict. Remove nodejs-lts-hydrogen? [y/N]
При этом если вы попытаетесь сначала удалить LTS версию (а затем установить последнюю версию Node.js), то вы можете столкнуться с проблемой поломанных зависимостей:
Но если установить Node.js с заменой LTS версии, то проблем со сломанными зависимостями не возникает.
Как обновить node с помощью npm
На случай, если вам это для чего-то нужно, вы можете обновить Node.js с помощью npm следующим образом:
sudo npm update -g node
Близкие статьи
- Восстановление из чёрного экрана при неудачной установке проприетарных AMD драйверов в BlackArch / Arch (100%)
- Решение проблемы X server не поднимается в VirtualBox VM после обновления ядра до 4.5 (100%)
- Решение ошибки reaver: invalid option -- 'K' (100%)
- Решение проблемы Arch Linux kernel 4.7 в VirtualBox: reached target graphical interface (100%)
- Решение проблемы Failed to configure CA certificate chain!, Fatal error initialising mod_ssl, exiting. (100%)
- Как найти самые быстрые зеркала Arch Linux и BlackArch (RANDOM - 50%)