يبلغ 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
بسبب تبعيات devDependency المحدثة.
npm update --depth <number>
للحزم التي لا تحتوي على تبعيات devDependency جديدةيفقد dev: true
بسبب تبعيات devDependencies المحدثة
loses-dev-for-dev-deps
npm i
npm update --depth 7
أتوقع أن هذا الإجراء يجب أن يحتفظ بـ dev: true
لتتبعيات devDependency المحدثة
يحتمل أن تكون مرتبطة بـ # 944
أواجه أيضًا أن npm update
ينسى علامة dev
للاعتماديات عندما يكون --depth
أكبر من 0. ربما ليس ضروريًا لعمق أقل؟
اكتشفت أنه تمت استعادة علامة dev بعد إعادة تثبيت وحدات العقدة ( rm -rf node_modules; npm install
)
أرى نفس المشكلة المتمثلة في فقد علامة dev
بعد استخدام npm update --depth
ولكن فقط من أجل تبعيات مطوري مشروعي والتي هي تبعيات حقيقية في تبعية أخرى.
في حالتي ، تضيف تبعية أخرى "@ types / node" كتبعية ولكن في مشروعي تضيفها كتبعية dev:
package.json للتبعية "أ":
{
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
علامة dev لا بأس بها لـ somethingElse
لكنها خاطئة لـ @type/node
تحرير: يبدو أن npm install
يخزن @types/node
كاعتماد على dev في الجذر + كتبعية في node_module المتداخلة في المكون "a".
npm update
بتثبيته مرة واحدة فقط كتبعية في الجذر
التعليق الأكثر فائدة
يبدو أنني أعددت مشكلة مكررة
ماذا / لماذا
الأمر
npm update --depth <number>
يخسرdev: true
بسبب تبعيات devDependency المحدثة.متي
npm update --depth <number>
للحزم التي لا تحتوي على تبعيات devDependency جديدةأين
كيف
السلوك الحالي
يفقد
dev: true
بسبب تبعيات devDependencies المحدثةخطوات التكاثر
loses-dev-for-dev-deps
npm i
npm update --depth 7
سلوك متوقع
أتوقع أن هذا الإجراء يجب أن يحتفظ بـ
dev: true
لتتبعيات devDependency المحدثةمراجع
يحتمل أن تكون مرتبطة بـ # 944