мои установленные пакеты потерялись в node_modules - PullRequest
0 голосов
/ 08 февраля 2020

В моем проекте я использую папку git и node_modules, очевидно, игнорируется. я работал branch1 и добавил некоторые зависимости (например, redux) и установил их через npm install. затем я переключился на branch2, который был создан одновременно с branch1, и теперь у него есть некоторые другие зависимости, чем branch1. Я использовал npm install снова, чтобы установить эти пакеты.

и вот что произошло: когда я вернулся к branch1, ни один из моих уже установленных пакетов во время работы в branch1 не был найден. я ожидал, что, поскольку node_modules игнорируется, существуют оба пакета ответвлений. мне пришлось запустить npm установить снова, хотя я установил их раньше.

так что мой вопрос, что это вызвало? git делает что-то? или npm че?

1 Ответ

1 голос
/ 08 февраля 2020

Вот гипотетический сценарий, который может помочь объяснить:

  1. В ветви 1 вы устанавливаете «A». Он сохраняется в node_modules, и вы фиксируете изменения в package.json и package-lock.json.
  2. . Вы извлекаете ветку 2, в результате чего ваши package.json и package-lock.json больше не имеют «A», хотя ваш node_modules остался нетронутым (gitignored), что означает, что "A" все еще там.
  3. Вы запускаете npm install на ветви 2, которая использует ваши package.json и package-lock.json для обновления node_modules согласно их спецификациям. Поскольку у них нет буквы «A», он удаляется из вашей node_modules.
  4. Вы извлекаете ветку 1, и снова ваша node_modules не затрагивается этой проверкой git - это означает, что вы необходимо снова запустить «npm install», чтобы вернуть «A» в node_modules.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...