Попробую объяснить простым языком.
0. Каждый проект по умолчанию имеет свои локальный пакеты (библиотеки), которые самостоятельно устанавливаются в корневую директорию
node_modules
, они устанавливаются на основе файла проекта
package.json (
инициализация).
Предположим, что Вы не используете контейнеризацию, то:
1. Ноду необходимо ставить глобально, например 18 версии.
Что такое глобально? В таком случае, все Ваши проекты NodeJS смогут использовать эту ноду, хотя нода при этом не будет находиться локально ни в одном из Ваших проектов.
2. Если все Ваши проекты используют исключительно ноду 18 версии, то дополнительную ноду ставить не требуется.
---
3. Если у Вас проекты используют разные версии ноды, то рекомендую с нодой работать не на прямую, а через
nvm (установка/удаление/переключение).
---
4. Если Вы используете контейнеризацию, то обычно, нода+проект ставится в каждый контейнер.