файл package-lock.json, пакет с "опционально": true - PullRequest
0 голосов
/ 29 января 2019

npm

один из PR моего напарника содержит обновление package-lock.json, в которое добавлено необязательное значение: true.Я не уверен, что это даже после того, как погуглил.Может кто-нибудь объяснить, пожалуйста?

Ответы [ 3 ]

0 голосов
/ 27 марта 2019

С https://docs.npmjs.com/files/package-lock.json#optional:

Если true, то эта зависимость является либо необязательной зависимостью ТОЛЬКО от модуля верхнего уровня, либо транзитивной зависимостью одного.Это неверно для зависимостей, которые являются необязательной зависимостью верхнего уровня и транзитивной зависимостью необязательной зависимости верхнего уровня.

Безопасно объединить это изменение.

Причина, по которой вы видите это изменение, наиболее вероятна, потому что npm немного изменил структуру package-lock.json в версии 6.6 .Ваш партнер в основном выполнил npm install с npm 6.6+ на package-lock.json, ранее сгенерированном с npm 6.5 -.

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

0 голосов
/ 28 мая 2019

После удаления пакета из зависимостей его зависимости помечаются "optional": true в package-lock.json.

Обычно такие пакеты безопасно удалить вручную или

$ rm -rf package-lock.json node-modules/
$ npm install
* 1007.* Однако это не на 100% безопасно, так как некоторые пакеты будут обновлены до более новых версий.
0 голосов
/ 29 января 2019

Одной из причин может быть:

Для некоторых пакетов npm могут потребоваться зависимые пакеты (например, minimist) для работы в разных ОС.NPM помечает эти пакеты как дополнительные при установке npm, если это вообще не требуется, в зависимости от используемой ОС.

Пожалуйста, проверьте следующую проблему:

Открытая проблема: package-lock.json и дополнительные пакеты: https://github.com/npm/npm/issues/17722

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

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