Composer: الاقتراح: إضافة أمر مؤلف قديم

تم إنشاؤها على ٢٣ فبراير ٢٠١٥  ·  54تعليقات  ·  مصدر: composer/composer

مرحبا شباب،

عندما أستخدم مديري الحزم الآخرين ، غالبًا ما أستخدم أوامر مثل bower list أو npm outdated لمعرفة ما إذا كانت الحزم بها إصدار أحدث ، ويمكن ترقيتها. ومع ذلك ، فإن الملحن يفتقر إلى هذه الوظيفة نوعًا ما. هناك إمكانية لتشغيل التحديث باستخدام الخيار --dry-run ، لكن هذا لن يخبرك إذا كان هناك إصدار أحدث إذا كانت لديك إصدارات صارمة في composer.json .

هل هذا شيء يمكن أن يكون على خارطة الطريق؟

Feature

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

composer outdated (أو composer show -l ) متاح الآن في إصدارات اللقطة ، composer self-update --snapshot إذا كنت تريد تجربته. بفضل barryvdh للعلاقات العامة التي جعلته وأي شخص آخر للمناقشة والصبر :)

ال 54 كومينتر

jenssegers ماذا يفعل npm outdated بالضبط؟ هل سيتحقق مما إذا كان الحد الأقصى لإصدار قيود تبعياتك أقل من أحدث إصدار stable أو dev من تلك الحزمة؟ أم أنها تتحقق من التبعيات العودية أيضًا؟

أعتقد أن npm outdated يعرض كلاً من الإصدار الأقصى بناءً على قيود الإصدار (على غرار --dry-run) وأحدث إصدار من الحزمة بشكل عام.

Package             Current    Wanted  Latest  Location
lodash                3.3.0     3.3.1   3.3.1  lodash
ms                    0.6.2     0.6.2   0.7.0  debug > ms
chalk                 0.4.0     0.4.0   1.0.0  nomnom > chalk
...

نعم ، يعرض الإصدار الحالي ، أعلى إصدار مطابق وفقًا للقيود ، أحدث إصدار يمكنك التحديث إليه ، ويقوم بذلك أيضًا من أجل تبعيات تبعياتك.

أود أيضًا أن أرى شيئًا كهذا. فكرت في بدء طلب سحب ، لكن هذا الأمر أصبح معقدًا نوعًا ما ، على الأقل مع عدم وجود معرفة بأجزاء الملحن الداخلية.

: +1:

+1

+1

+95

افتقد هذه الميزة كثيرا!

يمكنك بالفعل عمل composer update --dry-run ومشاهدة الإخراج. يمنحك قائمة بجميع الحزم (التبعيات الفرعية أيضًا) التي يمكن تحديثها. كل ما عليك فعله هو تصفية تبعيات الخط الأول.

hannesvdvreken --dry-run لا يعطي معلومات حول الحزم ، إصدارات منها مؤمنة في بعض الإصدارات. على سبيل المثال ، إذا كانت الحزمة تحتوي على الإصدار 2.5.0 وكان composer.json يحتوي على 2.4.4 تقريبًا ، فلن نتلقى تحديث 2.5.0. هذا ما يدور حوله هذا الاقتراح.

نعم من فضلك!

+1

يمكن تنفيذ ذلك بسهولة كمكوِّن إضافي إذا كان موجودًا: https://github.com/composer/composer/pull/3377

+1

+1 ستكون هذه بالتأكيد ميزة رائعة. يقوم npm-check-updates بعمل هذا جيدًا لحزم العقدة.

$ npm-check-updates

 express           4.12.x  →   4.13.x
 multer            ^0.1.8  →   ^1.0.1
 react-bootstrap  ^0.22.6  →  ^0.24.0
 react-a11y        ^0.1.1  →   ^0.2.6
 webpack          ~1.9.10  →  ~1.10.5

Run with -u to upgrade your package.json

ربما يمكن أن يكون لدينا إعداد مشابه يظهر مثبتًا وأحدث إصدار متاح؟

+1

+1

+1

+1

+1

+1

في غضون ذلك ، يمكننا استخدام هذه الحزمة: https://github.com/vinkla/climb ما زالت في المراحل الأولى من التطوير ولكنها البداية.

+1

: +1:

+1

+1

+1

: +1:

: +1:

ألق نظرة على هذه الأداة: https://github.com/vinkla/climb
هذا من شأنه أن يزيل الحاجة إلى أن يمتلك الملحن هذا النوع من الميزات.

hannesvdvreken نحن نستخدم حاليًا vinkla / التسلق ، لكنني لا أوافق على أنه لا ينبغي أن يكون ميزة أساسية. لقد حظي الملحن بتبني كبير ولديه أساسًا برنامج الصابون الخاص به في هذه المرحلة. من واقع خبرتي ، هناك عدد أقل من الشركات التي تعطي الأولوية للحفاظ على تبعيات مشاريعها محدثة أكثر مما ينبغي ، وأعتقد أن جعل هذه الميزة الأساسية لديه فرصة كبيرة للمساعدة في كبح هذا الاتجاه ، وتوفير الكثير من الألم في معالجة.

إذا أرادvinkla أو أحد المساهمين في الملحن (أو أي شخص آخر) دمج ذلك في الملحن والحفاظ على ذلك: رائع.

فقط قل 'يمكننا إيقاف +1 -ing هذا الموضوع حيث يمكننا المضي قدمًا في حياتنا باستخدام هذه الأداة: wink:

اي خطة؟ vinkla هل من الممكن أن تساهم

mtangoo ، لن تعمل حزمة Climb في مركز Composer ، لكن سيكون من الرائع لو كانت الوظائف متشابهة إلى حد ما.

حسنا، شكرا. هل التسلق يعود جسون؟ لا أريد أن أتحدث عن الموضوع ولكني أردت أن أعرف ذلك بالضبط

mtangoo ليس الآن ولكنه سيفعل في المستقبل. إذا كان لديك المزيد من الأسئلة ، يمكنك فتح مشكلة في مستودع Climb.

على سبيل المثال ، إذا كانت الحزمة تحتوي على الإصدار 2.5.0 وكان composer.json يحتوي على 2.4.4 تقريبًا ، فلن نتلقى تحديث 2.5.0. هذا ما يدور حوله هذا الاقتراح.

Addvilz يتم دعم عامل الإقحام ^ منذ فترة http://stackoverflow.com/a/22345808/291573 - ألا يجب أن تستخدم الحزمة هذا العامل بدلاً من ذلك؟

@ schmunk42 لا يؤثر حقًا على المشكلة المطروحة ، أليس كذلك؟ بغض النظر عن كيفية تقييد مهامك ، يجب أن تكون قادرًا على معرفة ما إذا كان هناك إصدار جديد متاح دون الحاجة إلى استخدام حزمة. :)

أعتقد أن القيود جزء مهم يجب مراعاته هنا ، لكنني أعرف ما تعنيه.

مساعد صغير للباش ...

composer show -Ni | xargs -n1 composer show | grep -E "name |version"

راجع للشغل ... إذا كان هناك تحديث متاح ، والذي لا يتطابق مع القيد الخاص بك ، فكيف يجب أن يتم عرضه؟
هناك دائمًا dev-master ، ولكن في الحالة التي ذكرتها ، قد يكون هناك 2.5.0 و 3.0.0 متاحين كتحديث. سيكون رائعًا ، إذا تمكنا من سرد الإصدارات الأحدث المستقرة فقط.

@ schmunk42 ربما يمكن إدارة ذلك باستخدام أعلام سطر الأوامر؟ على سبيل المثال ، فإن عبارة "composer show-outdated --include-dev" ستدرج أحدث الإصدارات بما في ذلك dev-master وما إلى ذلك.

كيف أتخيل أن هذا يمكن أن يعمل هو أن الأمر سيُظهر الزيادات الطفيفة والتصحيحية المحتملة للإصدار الرئيسي الحالي وأيضًا سرد الزيادات المحتملة في الإصدار الرئيسي.

تأمل المثال:

نسخة مقفلة: 1.3.3
أحدث إسطبل: 2.0.0
الإصدارات المتوفرة أيضًا: 1.3.9 ، 1.4.2
الإصدارات المدرجة على أنها متاحة للتحديث: 1.3.9 ، 1.4.2 ، 2.0.0

هذا من شأنه أن يعطي القدرة على تحديد الشخص الذي سيتم التحديث إليه. كما يمكن إدارتها عبر مفاتيح CLI.

فقط من فوق رأسي ...

+1

لذلك يوجد بالفعل أمر composer show يعرض الحزم المثبتة مع الإصدار الحالي في جدول ، أعتقد أنه لن يكون من الصعب جدًا تمديد ذلك باستخدام composer show --outdated أو composer show --versions أو أي شيء يعرض أيضًا أحدث إصدار (ثابت) متاح. أو ربما حتى أحدث إصدار يتوافق مع متطلباتك (عندما لم تقم بالتحديث ، بدلاً من التشغيل الجاف) + أحدث إصدار ثابت.

شيء من هذا القبيل؟ https://github.com/composer/composer/pull/5028
يعرض هذا atleast الإصدار الموصى به للاستخدام.

هل هناك موقف رسمي من هذه القضية؟ تنتظر هذا الأمر منذ ما يقرب من عام الآن.

هناك الكثير من العلاقات العامة مع الكثير من النقاش ، ويسمى "الميزة" و "من الجميل أن يكون لديك" ، ما هو الموقف الرسمي الذي تريده أكثر؟

آخر ما سمعناه هو أنه كان هناك الكثير من الحديث عن هذا ولكن لا توجد مساهمات. ولكن هناك الآن وأود أن أعرف ما هو العائق هنا.

أن التطبيق المقترح معيب وأن Composer 1.0 في إصدار تجريبي مما يعني عدم إضافة ميزات جديدة كبيرة. نرحب بك لتقديم علاقات عامة أفضل على الرغم من ذلك بعد الإصدار 1.0 النهائي.

لماذا هو معيب؟ لم يتلق كل من # 5028 و # 5068 أي ملاحظات جوهرية حتى الآن.

يمكنني أن أفهم التأجيل حتى ما بعد الإصدار 1.0 ، ولكن لماذا لا تقدم أي ملاحظات حول ذلك بعد ذلك؟

كنت أشير إلى https://github.com/composer/composer/pull/4517 لا أفعل بالضبط ما هو مطلوب في جميع المواقف. هناك العديد من الحلول في الوقت الحالي وليس المسار الواضح هو الأفضل حتى الآن.

@ adragus-inviqa خطأي: لم أقرأ الموضوع كاملاً. لقد قمت بإزالة الدمية +1.
كان هدفي في plusOne هو القول إنني أعتقد أنه سيكون شيئًا جيدًا أن يكون في جوهر الملحن ؛ عدم توبيخ أي شخص لعدم تنفيذه بعد. هذا ليس متجرًا مجانيًا: إنه مفتوح المصدر وكما قرأت وأوافق: الكثير من المهام / الأسئلة ولكن القليل من المساهمات.

يجب إغلاق الموضوع إذا كان الموضع النهائي هو استخدام أداة إضافية / أداة خارجية لهذا الغرض. أعتقد أنه يمكن أن يساعد في إعطاء وجهة نظري فيما يتعلق بمثل هذه الميزة يجب تبريرها لتكون جوهرية أم لا.

سأحاول أن أكون أكثر إنتاجية حتى لو لم أكن أتحدث بلغتي الأم.

أنا أستخدم الملحن لإدارة مشاريع Magento (Magento 1 في بيئة محلية الصنع) ومواقع الويب المستندة إلى Wordpress باستخدام مكدس Bedrock (ومزيج منها).
أنا أستخدم إصدارات التبعيات المؤهلة تمامًا ، لذا فأنا متأكد تمامًا من أنه بهذه الطريقة يمكنني إعادة إنشاء نفس الإصدار بالضبط في نقطتين في الوقت المناسب. أعتقد أنه أكثر أمانًا من الاعتماد على رقم إصدار غير معروف (يفترض أن تكون واثقًا جدًا من مزودي الحزم بغض النظر عن الانحدار ، إلخ ..) أعتقد أنها أفضل ممارسة لضمان الجودة على مستوى الصناعة.

العيب: أحتاج إلى التحقق من تحديثات المكونات الإضافية المتوفرة يدويًا ...

=> سيكون من الرائع أن يكون مدمجًا: سرد التحديثات المتاحة لكل حزمة مع تجاهل الإصدارات المؤهلة بالكامل. أذكر ذلك لأنني أعتقد (ربما أكون مخطئًا) أنه لن يكون من الصعب جدًا تنفيذه لأن الملحن يفعل ذلك بالفعل إذا استخدم أشياء ^ *. هذه وجهة نظري ، فاصلة.

=> هناك حل من طرف ثالث: التسلق: عظيم: سأحاول التسلق. نهاية الإرسال.

شكرا للقراءة

composer outdated (أو composer show -l ) متاح الآن في إصدارات اللقطة ، composer self-update --snapshot إذا كنت تريد تجربته. بفضل barryvdh للعلاقات العامة التي جعلته وأي شخص آخر للمناقشة والصبر :)

شكرا لك eldaek

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