Проблема в том, что вы добавили git dep, возможно, с использованием идентификатора ветви, например: git + https: //..../you/your_project.git#your_branch но после разрешения он сохраняется в package-lock.json не как # your_branch , а как # sha _for_latest_commit_to_your_branch.Когда npm пытается устранить эту разницу, он сбивается с толку и удаляет то, что у вас есть.
Вы можете обойти ошибку npm, пока мы ждем исправления, скопировав этот sha из package-lock..json в ваш пакет .json.Вам нужно будет изменить sha в package.json каждый раз, когда dep получает больше коммитов, которые вы хотите в своем проекте ....
Это будет раздражать, если вы захотите, чтобы он автоматически выбирализменения часто меняющейся зависимости git, но, по крайней мере, это остановит поведение удаления .. Адам Таттл ... не могу видеть больше в этой ссылке https://github.com/npm/npm/issues/17379