Установка внешних пакетов довольно проста, однако иногда пользователь может столкнуться с некоторыми ошибками при выполнении этой задачи. Среди этих ошибок ошибка «Узел двигателя несовместим с этим модулем» — одна из них, которую можно устранить, используя различные методы.
Краткое описание
- Когда «узел» Engine несовместим с «этим» модулем, возникает ошибка?
- Как устранить ошибку «Узел» движка несовместим с ошибкой модуля «Этот»?
- Что делать, если «узел» движка несовместим с «этим» модулем, ошибка все еще сохраняется?
- Заключение
Когда «узел» Engine несовместим с «этим» модулем, возникает ошибка?
Ошибка модуля «Узел» несовместима с «Этот» возникает по следующим причинам:
Причина 1: Требуемый пакет несовместим
Наиболее распространенная причина, по которой «узел» несовместим с ошибкой модуля «Этот», связана с несовместимостью Node.js и необходимой версии пакета. Чаще всего с этим сталкиваются при развертывании приложения Node.js на AWS.
Причина 2: старая версия узла
Другая причина — старая версия Node.js. Чаще всего с этим сталкиваются в операционной системе Ubuntu, когда пользователь пытается несколько раз обновить версию Node.js, а также обновляет вместе с ней системные репозитории. По этой причине « подходящий Команда «запустит более старую версию Node.js, взятую из пакета Debian, и пользователь столкнется с указанной выше ошибкой.
Как устранить ошибку «Узел» движка несовместим с ошибкой модуля «Этот»?
В этом разделе перечислены все возможные работоспособные решения для устранения «узла» движка, несовместимого с ошибкой модуля «Этот»:
- Решение 1. Игнорируйте проверку двигателя, используя «npm» и «yarn».
- Решение 2. Отключите поля движка по умолчанию, используя файл package-lock.json.
- Решение 3. Обновите узел до последней версии
Решение 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.