Npm случайно удаляет пакеты, установленные через 'ng add' - PullRequest
0 голосов
/ 11 марта 2020

протестировано на узле 13.10.1

Я устанавливаю некоторые Angular Библиотеки + схемы (написанные мной) с помощью команды ng add. Библиотеки добавляются в package.json , но не в package-lock.json. Когда я пытаюсь обслуживать свой проект, я получаю сообщение об ошибке для библиотек peerDependecies не удовлетворен.

  1. Я запускаю npm i <missingpackages...>
  2. Я запускаю ng serve

Затем я получаю новую ошибку, библиотеки Angular, которые я установил ранее, сейчас исчез. Осталась только папка с областями видимости (@ my-corp)

Затем я перезапускаю npm i <libraries...>, ng-serve

И все работает нормально (библиотеки были добавлены и в package-lock.json). Может кто-нибудь объяснить мне это странное поведение?

1 Ответ

0 голосов
/ 11 марта 2020

Я нашел решение.

Суть проблемы заключается в отсутствии обновлений в package-lock.json после запуска команды ng add <library>.

Если вы angular -library разработчик, чтобы решить это достаточно для выполнения внутри функции фабрики правил этот код:

export function ngAdd(options: ISchema): Rule {
  exec('npm i --package-lock-only'); // <- this code
  return (host: Tree, context: SchematicContext) => {...};
}

Если вы просто потребитель, запустите это из кли

npm i --package-lock-only

Надеюсь, это поможет

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...