NPM сообщает о неудовлетворенной зависимости после выполнения рекурсивного / глубокого обновления
npm --depth 9999 update
npm ls
сообщает о большом количестве недостающих / неудовлетворенных зависимостей, например:
├─┬ @semantic-release/[email protected]
│ ├── @semantic-release/[email protected] deduped
│ ├── [email protected] deduped
│ ├─┬ [email protected]
│ │ └── [email protected]
│ ├─┬ UNMET DEPENDENCY [email protected]
npm ERR! missing: [email protected], required by @semantic-release/[email protected]
npm init
npm i -D @semantic-release/exec
npm --depth 9999 update
package.json
их родителя или любым npm-shrinkwrap.json
их предка.package-lock.json
и приступить к разрешению всех зависимостей, установке / обновлению / удалению по мере необходимости, а затем обновить файл блокировки с помощью разрешенного дерева.Похоже, я приготовил дублированный выпуск
Команда npm update --depth <number>
теряет dev: true
для обновленных зависимостей devDependencies.
npm update --depth <number>
для пакетов с незавершенными зависимостями devDependenciesОн теряет dev: true
за обновленных зависимостей devDependencies
loses-dev-for-dev-deps
npm i
npm update --depth 7
Я ожидаю, что это действие должно сохранить dev: true
для обновленных зависимостей devDependencies
Возможно связано с # 944
Я также сталкиваюсь с тем, что npm update
забывает флаг dev
для зависимостей, когда --depth
больше 0. Может быть, это не обязательно для более низкой глубины?
Я обнаружил, что флаг разработчика восстанавливается после переустановки модулей узла ( rm -rf node_modules; npm install
)
Я вижу ту же проблему потери флага dev
после использования npm update --depth
но только для зависимостей dev моего проекта, которые являются реальными зависимостями в другой зависимости.
В моем случае другая зависимость добавляет «@ types / node» в качестве зависимости, но в моем проекте она используется как зависимость dev:
package.json зависимости "a":
{
name: "a",
dependencies: {
"@types/node": ">=5.10"
}
}
мой проект:
{
dependencies: {
"a": "1.0.0"
},
devDependencies: {
"@types/node": "^12.0.0",
"somethingElse": "1.0.0"
}
}
после npm update --depth=99
флаг разработчика подходит для somethingElse
но неверен для @type/node
edit: npm install
похоже, сохраняет @types/node
как зависимость dev в корне + как зависимость во вложенном node_module в компоненте «a».
npm update
устанавливает его только один раз как зависимость в корневом каталоге
Самый полезный комментарий
Похоже, я приготовил дублированный выпуск
Что почему
Команда
npm update --depth <number>
теряетdev: true
для обновленных зависимостей devDependencies.Когда
npm update --depth <number>
для пакетов с незавершенными зависимостями devDependenciesГде
Как
Текущее поведение
Он теряет
dev: true
за обновленных зависимостей devDependenciesДействия по воспроизведению
loses-dev-for-dev-deps
npm i
npm update --depth 7
Ожидаемое поведение
Я ожидаю, что это действие должно сохранить
dev: true
для обновленных зависимостей devDependenciesРекомендации
Возможно связано с # 944