Как устранить ошибку «Узел» движка несовместим с ошибкой модуля «Этот»

Kak Ustranit Osibku Uzel Dvizka Nesovmestim S Osibkoj Modula Etot



В Node.js « упаковка » содержит все важные файлы модуля. Модуль соответствует библиотеке, которая строит соединение с приложением на основе его контекста. Все пакеты Node.js не определены заранее, большинство из них являются внешними, которые можно установить в приложение Node.js через менеджер пакетов «npm/yarn».

Установка внешних пакетов довольно проста, однако иногда пользователь может столкнуться с некоторыми ошибками при выполнении этой задачи. Среди этих ошибок ошибка «Узел двигателя несовместим с этим модулем» — одна из них, которую можно устранить, используя различные методы.

Краткое описание







Когда «узел» Engine несовместим с «этим» модулем, возникает ошибка?

Ошибка модуля «Узел» несовместима с «Этот» возникает по следующим причинам:



Причина 1: Требуемый пакет несовместим

Наиболее распространенная причина, по которой «узел» несовместим с ошибкой модуля «Этот», связана с несовместимостью Node.js и необходимой версии пакета. Чаще всего с этим сталкиваются при развертывании приложения Node.js на AWS.



Причина 2: старая версия узла

Другая причина — старая версия Node.js. Чаще всего с этим сталкиваются в операционной системе Ubuntu, когда пользователь пытается несколько раз обновить версию Node.js, а также обновляет вместе с ней системные репозитории. По этой причине « подходящий Команда «запустит более старую версию Node.js, взятую из пакета Debian, и пользователь столкнется с указанной выше ошибкой.





Как устранить ошибку «Узел» движка несовместим с ошибкой модуля «Этот»?

В этом разделе перечислены все возможные работоспособные решения для устранения «узла» движка, несовместимого с ошибкой модуля «Этот»:

Решение 1. Игнорируйте проверку двигателя, используя «npm» и «yarn».

Первое решение: « игнорирование проверки двигателя » при установке указанного пакета с помощью « НПМ ' или ' пряжа » менеджеры пакетов. Для ' НПМ » это можно сделать с помощью « -сила ” флаг и для “ пряжа » эту задачу можно выполнить с помощью « –игнорировать-двигатели флаг.



Первый шаг на « НПМ » менеджер пакетов.

Синтаксис (для NPM)

установка npm -- сила < упаковка имя >

Согласно приведенному выше синтаксису, « -сила Флаг принудительно добавляет указанный пакет в приложение Node.js.

Теперь используйте приведенный выше синтаксис для установки определенного пакета в текущую версию Node.js:

установка npm -- заставить машинописный текст

В приведенной выше команде пакет «typescript» устанавливается без учета совместимости текущей версии Node.

Вывод ниже показывает, что « машинопись ” был принудительно установлен в текущем приложении Node.js. Он также показывает предупреждающее сообщение из-за кеша. Выполните « проверка кэша npm ” для проверки правильности работы кэша:

Теперь игнорируйте проверки двигателя, используя « пряжа » менеджер пакетов с помощью приведенной ниже команды:

установка пряжи -- игнорировать - двигатели

Приведенная выше команда игнорирует проверки двигателя и подтверждает, что « пряжа » не устанавливает дополнительные зависимости. « –игнорировать-двигатели Флаг запускает команду «yarn install» в автономном режиме:

Приведенная выше команда создает « пряжа.замок » в главном каталоге проекта Node.js.

« пряжа «Менеджеру пакетов требуется следующий синтаксис для установки пакета, игнорирующего проверки движка:

Синтаксис (для пряжи)

пряжа добавить < упаковка имя > -- игнорировать - двигатели

Теперь используйте написанный выше синтаксис для установки « машинопись ” пакет глобально в операционной системе:

Yarn global добавить машинописный текст -- игнорировать - двигатели

Приведенный ниже вывод успешно добавляет проект typescript глобально в текущую операционную систему Windows для всех проектов Node.js:

Совет: игнорируйте проверки двигателя для всех команд

Если пользователь хочет игнорировать проверку движка для всех команд, запустите приведенную ниже команду вместе с « истинный ” логическое значение:

набор конфигурации пряжи игнорировать - двигатели истинный

Приведенная выше команда сообщает компилятору, что он игнорирует поле двигателя, указанное в файле package.json:

« игнорировать-двигатели ” для всех команд установлено значение true. Теперь пользователь может установить в Node.js любой конкретный пакет без указания флага «-ignore-engines»:

Решение 2. Отключите поля движка по умолчанию, используя файл package-lock.json.

Следующее решение — изменить « двигатель ” поле из “ пакет-lock.json ' файл. Для этого сначала перейдите в основной каталог проекта Node.js и откройте файл package-lock.json.

Как только целевой файл открыт, перейдите к « двигатели » и обновите его следующим образом:

Нажимать ' Ctrl+S », чтобы сохранить указанный выше файл. Модификация позволяет менеджеру пакетов «npm» установить необходимую версию пакета, подходящую для версии Node.js «>=14.17».

Решение 3. Обновите узел до последней версии

Другое решение — обновить версию Node.js. Обновление Node.js во всех операционных системах довольно просто и может быть выполнено с помощью следующих руководств:

  • Как обновить версии узлов в Windows?
  • Как обновить версию узла в Ubuntu?
  • Как обновить Node.js до последней версии в macOS?

Что делать, если «узел» движка несовместим с «этим» модулем, ошибка все еще сохраняется?

Если «узел «движка» несовместим с модулем «Этот»» сохраняется после устранения ее с помощью любого из вышеперечисленных решений, удалите « node_modules ' папка. Папка «node_modules» создается автоматически при установке стороннего модуля. Он содержит все сторонние пакеты, от которых зависит проект Node.js.

Более того, « пакет-lock.json » также автоматически генерируется при установке пакета с помощью «npm». Он хранит записи зависимостей, а также подзависимостей, от которых зависит пакет, а также их версий. Если пакет установлен с помощью «yarn», то имя файла — « пряжа.замок ».

Решение. Удалите папку «node_modules» и файл «package-lock.json».

Решение возникшей ошибки — удалить папку «node_modules», файл конфигурации «package-lock.json/yarn.lock» и заново установить необходимый пакет.

В Linux , указанную выше папку или файлы можно удалить с помощью нижеуказанного « РМ (удалить)» команда:

РМ - пакет RF node_modules - замок. JSON //Удалить папку и файл

лс // Отображение файла и каталогов

В приведенной выше команде « Флаг ” удаляет указанную папку “ рекурсивно », включая все его подкаталоги и папку « ж флаг сообщает интерпретатору выполнить эту задачу « настойчиво »:

Вывод показывает, что папка «node_modules» и файл «package-lock.json/yarn.lock» были полностью удалены:

В Windows пользователь может удалить папку «node_modules» и файл «package-lock.json/yarn.lock», просто нажав клавишу «delete» или используя опцию «delete» в раскрывающемся меню.

Вот и все, что касается устранения ошибки «Невозможно найти модуль» в Node.js.

Заключение

Чтобы решить проблему с двигателем » узел» несовместим с модулем «Этот» » ошибка, игнорируйте проверки движка в соответствии с указанным менеджером пакетов. Для ' НПМ » это можно сделать с помощью « -сила флаг », а для « пряжа » это может быть выполнено через « –игнорировать-двигатели » проверьте флажок. Кроме того, пользователь также может устранить ошибку, изменив « двигатели ” поле “ пакет-lock.json ” или обновив версию Node. В этом посте обсуждаются все возможные причины, а также их решение для устранения ошибки «Невозможно найти модуль» с помощью Node.js.