Это стандартное поведение команды установки NPM.
Выполнение npm install
на производственном сервере невозможно в определенном сценарии (отсутствие инструментов компиляции, ограниченный доступ в Интернет и т. Д.), А также еслиВы должны развернуть один и тот же проект на нескольких машинах, это может быть пустой тратой ресурсов процессора, памяти и пропускной способности.
Вы должны запустить npm install --production
на машине с теми же библиотеками и версией узла рабочего сервера, сжатьnode_modules и развернуть на рабочем сервере.Вам также следует сохранять файл package-lock.json
для точного определения версий.
Этот подход также позволяет создавать / тестировать код с использованием пакетов разработки и затем сокращать node_modules
перед фактическим развертыванием.
Перемещение папки node_modules перебито.Запуск npm install может нарушить зависимости от версии.Лучший подход - npm ci
.Он использует файл package_lock
и устанавливает необходимые зависимости без изменения версий.npm ci
предназначен для проектов непрерывной интеграции.https://docs.npmjs.com/cli/ci.html
Надеюсь, это поможет.