Я пытался найти решение этой проблемы
error @primer/[email protected]: The engine "node" is incompatible with this module. Expected version ">=18.18.0 <18.19.0". Got "22.6.0"
error Found incompatible module.
где будут работать только очень специфические версии узла. Это их последний пакет.
Как бы я это исправил
временное исправление, которое я нашел, использует --ignore-engines
Есть ли какая-то причина, по которой вам нужно использовать версию 22? Может просто использовать более низкую версию? Кроме того, по какой причине зависимость нуждается в этом? Это просто устарело или основано на какой-то ошибке, существующей только в версии 18.18?
Такое конкретное требование к версии Node для пакета, предназначенного для клиентской стороны, выглядит как случайная ошибка и может быть отслежено до конкретного коммита с помощью git "blame" или версии выпуска через журнал изменений. Этот пиар предполагает, что требование было предназначено только для разработки, автор, вероятно, не знал, что оно повлияет на проекты, использующие пакет в качестве зависимости.
Флаг --ignore-engines
может быть неудобен в использовании, кроме того, он требует уведомить других разработчиков о необходимости и отключает действующие ограничения движка.
Пока исправление для этого пакета не будет опубликовано, его можно исправить локально с помощью patch-package
или аналогичного пакета, либо можно установить версию, не содержащую регрессии (@primer/[email protected]
). Альтернативой является сохранение вилки, что может оказаться дорогостоящим.
Поскольку это ошибка, наиболее эффективный способ ее исчезновения — открыть проблему и, при необходимости, создать PR, чтобы разработчику пакета не требовалось много времени на исправление.
Это похоже на конкретное решение авторов
@primer/primitives
. Возможно, вам лучше спросить об этом в билете на github.