Это примерно как и виртуальные среды. То есть, npm (или yarn) устанавливают модули в папку node_modules, которая находится в твоём проекте. Это очень удобно на самом деле, тебе не надо создавать никакие среды. Если хочешь установить глобально (а это не нужно в 99% случаев, только если надо вызвать чето из командной строки, типа gulp или webpack, то дописываешь ключ -g и всё шик блеск. А так, У тебя есть package.json в каждом проекте, который описывает все модули. Можешь засунуть его в любую папку и написать npm i и всё скачается