Cli: تظهر ملفات DS_Store بعد نشر npm

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

  Original bug ticket: [https://npm.community/t/831](https://npm.community/t/831)
  Originally filed: 2018-07-23T20:19:41.160Z
Bug Community

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

أواجه هذا في npm 6.13.0. pack سيتضمن الملفات التي تجاهلها .gitignore و / أو .npmignore إذا كانت مدرجة في files . يكون ذلك أكثر وضوحًا عندما تكون هذه الملفات داخل دليل حيث من المطلوب تضمين الملفات الأخرى في الدليل.

أحد الحلول التي يبدو أنها تعمل بالنسبة لي هو إضافة "!.DS_Store" كآخر إدخال في مصفوفة files (يبدو أن الترتيب مهم).

ال 4 كومينتر

أواجه هذا في npm 6.13.0. pack سيتضمن الملفات التي تجاهلها .gitignore و / أو .npmignore إذا كانت مدرجة في files . يكون ذلك أكثر وضوحًا عندما تكون هذه الملفات داخل دليل حيث من المطلوب تضمين الملفات الأخرى في الدليل.

أحد الحلول التي يبدو أنها تعمل بالنسبة لي هو إضافة "!.DS_Store" كآخر إدخال في مصفوفة files (يبدو أن الترتيب مهم).

أفكر في أنني أرى شيئًا مشابهًا منذ Npm 6.12.1: تم تعيين .gitignore الخاص بي لاستبعاد npm-shrinkwrap.json /build/ ودليل package.json قائمة يفعل build دليل صراحة في files القسم. كجزء من إجراء الإنشاء ، أقوم بإنتاج npm-shrinkwrap.json في الدليل الجذر للوحدة النمطية ، والذي يتم نسخه بعد ذلك إلى الدليل build .

باستخدام npm 6.4.1 و ~ 6.7 و ~ 6.9 و ~ 6.10 و ~ 6.11 و 6.12.0 ، يحتوي الملف المجمّع (من npm pack ) فقط على build/npm-shrinkwrap.json ، ولكن مع 6.12.1 وما بعده يتضمن كلا من build/npm-shrinkwrap.json _ و_ npm-shrinkwrap.json .

(المجتمع معطل / للقراءة فقط في الوقت الحالي ، إذا لم تكن هذه هي نفس المشكلة ، فأود أن أعتذر!)

يبدو من الغريب بالنسبة لي تضمين ملف shrinkwrap في أي جزء من الحزمة المنشورة ، ولكن سيكون له تأثير فقط في الجذر على أي حال - لماذا تضع عملية الإنشاء لديك نسخة هناك؟

هذا بالتأكيد سؤال جيد.

لدي في build / directory كجزء من خطوة بناء أخرى تأخذ بناء / دليل وتنشئ صورة حاوية عامل ميناء. كانت الفكرة هي تشغيل npm test وما إلى ذلك مرة واحدة خارج عامل الإرساء ، ثم جعل ملف shrinkwrap يعمل على تسريع عملية عامل الإرساء (عن طريق السماح لـ npm install داخل عامل الإرساء بالتقاط نفس الملفات بالضبط). سيكون هذا أيضًا بمثابة توثيق حول ما تم استخدامه للبناء. نسخت العملية ببساطة npm-shrinkwrap.json في دليل الإنشاء.

الإصلاح بالنسبة لي الآن هو استخدام mv بدلاً من cp لإحضار الملف إلى الدليل build/ .

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

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