Cli: [BUG] تحديث npm - فواصل العمق التبعيات

تم إنشاؤها على ١٧ ديسمبر ٢٠١٩  ·  4تعليقات  ·  مصدر: npm/cli

ماذا / لماذا

يبلغ NPM عن التبعية غير المستوفاة بعد إجراء تحديث متكرر / عميق

متي


أين



  • غير متوفر

كيف

السلوك الحالي

خطوات التكاثر

  1. أنشئ مجلدًا محليًا وقم بتشغيل npm init
  2. قم بتثبيت حزمة بأكثر من مستوى واحد من التبعيات ، على سبيل المثال npm i -D @semantic-release/exec
  3. انتظر حتى تحصل إحدى تبعياتهم العميقة على إصدار أحدث
  4. تشغيل npm --depth 9999 update

سلوك متوقع

  • لا ينبغي أن يكون هناك أي تبعيات غير مستوفاة. يتم إجراء التحديثات وفقًا لملف package.json لوالدهم أو أي npm-shrinkwrap.json من سلفهم.
  • بمعنى آخر ، يجب أن يتصرف كما لو لم يكن هناك package-lock.json والمضي قدمًا في حل جميع التبعيات ، وتثبيت / تحديث / إزالة حسب الضرورة ، ثم تحديث ملف القفل بالشجرة التي تم حلها.

منظمة الصحة العالمية



  • غير متوفر

مراجع



  • غير متوفر

Bug

التعليق الأكثر فائدة

يبدو أنني أعددت مشكلة مكررة

ماذا / لماذا

الأمر npm update --depth <number> يخسر dev: true بسبب تبعيات devDependency المحدثة.

متي

  • عندما أستخدم npm update --depth <number> للحزم التي لا تحتوي على تبعيات devDependency جديدة

أين

  • npm التسجيل العام

كيف

السلوك الحالي

يفقد dev: true بسبب تبعيات devDependencies المحدثة

خطوات التكاثر

  1. خذ هذا الريبو https://github.com/pahan35/npm-bugs
  2. فرع Checkout loses-dev-for-dev-deps
  3. قم بتشغيل npm i
  4. تشغيل npm update --depth 7

سلوك متوقع

أتوقع أن هذا الإجراء يجب أن يحتفظ بـ dev: true لتتبعيات devDependency المحدثة

مراجع

يحتمل أن تكون مرتبطة بـ # 944

ال 4 كومينتر

يبدو أنني أعددت مشكلة مكررة

ماذا / لماذا

الأمر npm update --depth <number> يخسر dev: true بسبب تبعيات devDependency المحدثة.

متي

  • عندما أستخدم npm update --depth <number> للحزم التي لا تحتوي على تبعيات devDependency جديدة

أين

  • npm التسجيل العام

كيف

السلوك الحالي

يفقد dev: true بسبب تبعيات devDependencies المحدثة

خطوات التكاثر

  1. خذ هذا الريبو https://github.com/pahan35/npm-bugs
  2. فرع Checkout loses-dev-for-dev-deps
  3. قم بتشغيل npm i
  4. تشغيل 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 بتثبيته مرة واحدة فقط كتبعية في الجذر

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات