Проблема с «узлом» движка несовместимым с этим модулем

Я пытался найти решение этой проблемы

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

Это похоже на конкретное решение авторов @primer/primitives. Возможно, вам лучше спросить об этом в билете на github.

Evert 16.08.2024 23:52

Есть ли какая-то причина, по которой вам нужно использовать версию 22? Может просто использовать более низкую версию? Кроме того, по какой причине зависимость нуждается в этом? Это просто устарело или основано на какой-то ошибке, существующей только в версии 18.18?

Adam Jenkins 16.08.2024 23:52
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
2
2
50
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Такое конкретное требование к версии Node для пакета, предназначенного для клиентской стороны, выглядит как случайная ошибка и может быть отслежено до конкретного коммита с помощью git "blame" или версии выпуска через журнал изменений. Этот пиар предполагает, что требование было предназначено только для разработки, автор, вероятно, не знал, что оно повлияет на проекты, использующие пакет в качестве зависимости.

Флаг --ignore-engines может быть неудобен в использовании, кроме того, он требует уведомить других разработчиков о необходимости и отключает действующие ограничения движка.

Пока исправление для этого пакета не будет опубликовано, его можно исправить локально с помощью patch-package или аналогичного пакета, либо можно установить версию, не содержащую регрессии (@primer/[email protected]). Альтернативой является сохранение вилки, что может оказаться дорогостоящим.

Поскольку это ошибка, наиболее эффективный способ ее исчезновения — открыть проблему и, при необходимости, создать PR, чтобы разработчику пакета не требовалось много времени на исправление.

Другие вопросы по теме