NPM melaporkan ketergantungan yang tidak terpenuhi setelah melakukan pembaruan rekursif/dalam
npm --depth 9999 update
npm ls
melaporkan banyak dependensi yang hilang/tidak terpenuhi, misalnya:
├─┬ @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
dari induknya atau npm-shrinkwrap.json
dari leluhurnya.package-lock.json
dan melanjutkan untuk menyelesaikan semua dependensi, menginstal/memperbarui/menghapus seperlunya, dan kemudian memperbarui lockfile dengan pohon yang diselesaikan.Sepertinya saya sudah menyiapkan masalah duplikat
Perintah npm update --depth <number>
kehilangan dev: true
untuk dependensi devDependencies yang diperbarui.
npm update --depth <number>
untuk paket dengan dependensi devDependencies yang tidak baruKehilangan dev: true
untuk dependensi devDependencies yang diperbarui
loses-dev-for-dev-deps
npm i
npm update --depth 7
Saya berharap tindakan ini akan mempertahankan dev: true
untuk dependensi devDependencies yang diperbarui
Mungkin terkait dengan #944
Saya juga mengalami bahwa npm update
lupa flag dev
untuk dependensi ketika --depth
lebih besar dari 0. Mungkin tidak perlu untuk kedalaman yang lebih rendah?
Saya menemukan bahwa flag dev dipulihkan setelah menginstal ulang modul node ( rm -rf node_modules; npm install
)
Saya melihat masalah yang sama kehilangan flag dev
setelah menggunakan npm update --depth
tetapi hanya untuk dependensi dev proyek saya yang merupakan dependensi nyata pada dependensi lain.
Dalam kasus saya, ketergantungan lain menambahkan "@types/node" sebagai ketergantungan tetapi pada proyek saya memilikinya sebagai ketergantungan dev:
package.json dari ketergantungan "a":
{
name: "a",
dependencies: {
"@types/node": ">=5.10"
}
}
proyek saya:
{
dependencies: {
"a": "1.0.0"
},
devDependencies: {
"@types/node": "^12.0.0",
"somethingElse": "1.0.0"
}
}
setelah npm update --depth=99
flag dev ok untuk somethingElse
tetapi salah untuk @type/node
edit: npm install
tampaknya menyimpan @types/node
sebagai dependensi dev di root + sebagai dependensi di node_module bersarang di komponen "a".
npm update
menginstalnya hanya sekali sebagai ketergantungan di root
Komentar yang paling membantu
Sepertinya saya sudah menyiapkan masalah duplikat
Apa sebabnya
Perintah
npm update --depth <number>
kehilangandev: true
untuk dependensi devDependencies yang diperbarui.Kapan
npm update --depth <number>
untuk paket dengan dependensi devDependencies yang tidak baruDimana
Bagaimana
Perilaku Saat Ini
Kehilangan
dev: true
untuk dependensi devDependencies yang diperbaruiLangkah-langkah untuk Reproduksi
loses-dev-for-dev-deps
npm i
npm update --depth 7
Perilaku yang Diharapkan
Saya berharap tindakan ini akan mempertahankan
dev: true
untuk dependensi devDependencies yang diperbaruiReferensi
Mungkin terkait dengan #944