Почему установка модулей из NPM или Yarn зависит от узла? - PullRequest
0 голосов
/ 12 марта 2020

Я использую React (create-реагировать-приложение)

Я понимаю, что происходит, когда мы устанавливаем пакет из NPM или Yarn: он находит модуль и клонирует код в node_modules, модули также может иметь свой собственный пакет. json и зависимые модули клонируются рекурсивно.

Если мы используем исключительно клиентское приложение (как в моем случае React), почему процесс установки зависит от версии узла? Как я получаю jsdom@16.2.0: «узел» движка несовместим с этим модулем. Ожидаемая версия "> = 10". Получил "9.11.2"

1 Ответ

1 голос
/ 12 марта 2020

По мере выпуска новых версий Node.js добавляются новые функции и устаревшие функции устаревают. Библиотеки, использующие эти новые функции, могут заблокировать минимальную Node.js версию, необходимую для использования своей библиотеки.

Если вы используете библиотеку с более низкой версией Node.js, библиотека, вероятно, не будет работать.

Если вы работаете над несколькими проектами, для которых требуются разные версии Node.js, рассмотрите возможность установки и использования nvm. С помощью nvm вы можете переключаться между несколькими версиями в соответствии с вашими проектами. https://github.com/nvm-sh/nvm

...