Bundler البطيء للغاية 1.0.3 (bundler.require) مع حوالي 100 جواهر في القضبان 3.0.1 وروبي 1.9.2

StackOverflow https://stackoverflow.com/questions/4033775

سؤال

أنا أستخدم Rails 3.0.1 و Bundler 1.0.3 و Ruby 1.9.2p0 (2010-08-18 Revision 29036). كان كل شيء على ما يرام وسريع حتى بدأت في إضافة Prepise & Omniauth. من ذلك على كل ما ينطوي على تهيئة Bundler (Calling Bundler.require كما هو الحال في application.rb) استغرق الأعمار (عن طريق 30-50 ثانية وهو كثير على سبيل المثال استدعاء "طرق أشعل النار").

يتم فقد الوقت في "config/application.rb":

Bundler.require(:default, Rails.env) if defined?(Bundler)

حاولت تعطيل / تمكين الأحجار الكريمة (مثل تلك التي أضفتها أخيرًا أو جميع الأحجار الكريمة المتعلقة بالاختبار) ولكن يبدو كما لو أنها مشكلة تتضمن حاجزًا من إجمالي الأحجار الكريمة بدلاً من أي مشاكل ترميز محددة في بعض الأحجار الكريمة.

للاختبار النهائي ، قمت بإنشاء مشروع Fresh Rails 3.0.1 مع جوهرة RVM جديدة وأضفت GEMS واحدة تلو الأخرى. لا يزال هو نفسه في حوالي 30-50 الأحجار الكريمة (وهو أمر غير عادي بالنسبة للمشاريع الكبيرة ولم يكن من قبل مشكلة).

أي أفكار (إلى جانب: تقليل عدد الأحجار الكريمة)؟

هل كانت مفيدة؟

المحلول 2

أفضل ما توصلت إليه هو استخدام Spork. إنه يعمل بشكل رائع ويعوض بدء التشغيل البطيء. يبدأ Spork خادم DRB الذي يمكن لـ RSPEC / Cucumber توصيل واستخدام عمليات Ruby المسبقة لتشغيل الاختبارات. تقوم بإعادة تحميل بعض الملفات (الاختبارات ، والفئات ، ...) لكل تشغيل ، بحيث تكون جديدة تقريبًا مثل عملية جديدة.

https://github.com/timcharper/spork

نصائح أخرى

نفس المشكلة. إضافة GEMS مناسبة لزيادة وقت البيئة bootup من bundler. لم أحدد هذه المشكلة بعد. إنه حوالي 20 ثانية من النفقات العامة قبل تشغيل المواصفات. يجعلني مجنون ؛ .. (

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top