Каков эффект «npm install», если у вас есть каталог «package.json» и «node_modules» в каталоге проекта?
Перезаписывает ли он существующие модули?Обновляет их или вообще ничего не делает?
Из раздела Алгоритм в официальных Документах NPM :
загрузить существующее дерево node_modules с диска клонировать дерево получить пакет.json и различные метаданные и добавить их в клон пройтись по клону и добавить недостающие зависимости зависимости будут добавлены как можно ближе к вершине без поломок других модулей сравнить исходное дерево с клонированным и составить список действий для преобразования одного в другое выполнить все действия, сначала самые глубокие виды действий: установка, обновление, удаление и перемещение
Так что нет, он не переопределяет все существующие пакеты снова. Он выбирает все пакеты и сравнивает метаданные между деревьями пакетов и файлом пакета.