لماذا لا يستطيع تطبيق القضبان الخاص بي العثور على الأحجار الكريمة التي يتم تعبئتها معها؟

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

سؤال

لدي تطبيق القضبان استخدام الخيار و RSPEC. نحن نقوم بتخزين الأحجار الكريمة تحت البائع / الأحجار الكريمة وتحاول الحصول على بناء التطبيقات (الاختبارات قيد التشغيل) في خادم CI.

عندما أحاول تشغيل اختباراتنا، أحصل على الخطأ التالي:

Missing these required gems:
  cucumber  >= 0.3.11
  rspec-rails  >= 1.2.6

عندما أركض RAILS_ENV=test rake gems أحصل على ما يلي:

 - [F] activerecord-oracle-adapter
    - [R] activerecord >= 1.15.5.7843
 - [F] thoughtbot-factory_girl = 1.2.0
 - [F] cucumber >= 0.3.11
    - [ ] term-ansicolor >= 1.0.3
    - [ ] treetop >= 1.2.6
    - [ ] diff-lcs >= 1.1.2
    - [I] builder >= 2.1.2
 - [F] webrat >= 0.4.4
    - [I] nokogiri >= 1.2.0
 - [F] rspec >= 1.2.6
 - [F] rspec-rails >= 1.2.6
    - [F] rspec >= 1.2.7
    - [ ] rack >= 0.4.0
 - [F] thoughtbot-shoulda >= 2.10.2

I = Installed
F = Frozen
R = Framework (loaded before rails starts)

هل تعني الفارغة الفارغة [] الأحجار الكريمة مفقودة؟

يحتوي التكوين / البيئات / Test.rb على ما يلي:

config.gem "cucumber",           :lib => false,          :version => ">=0.3.11" unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/cucumber'))
config.gem "webrat",             :lib => false,          :version => ">=0.4.4"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/webrat'))
config.gem "rspec",              :lib => false,          :version => ">=1.2.6"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/rspec'))
config.gem "rspec-rails",        :lib => "spec/rails",   :version => ">=1.2.6"  unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/rspec-rails'))
config.gem "thoughtbot-shoulda", :lib => false,          :version => ">=2.10.2" unless File.direct
ory?(File.join(Rails.root, 'vendor/plugins/shoulda'))

لذلك يبدو كل شيء في النظام، لكنه لا يزال يرفض الركض.

هل أفتقد شيئا واضحا؟

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

المحلول

يبدو أنك لديك cucumber, rspec, ، و rspec-rails المجمدة (فك) في الخاص بك vendor/gems الدليل ولكنك في عداد المفقودين التبعيات ل cucumber و rspec-rails. وبعد كما يقول التعليق على السؤال، [] يشير إلى أن هذا مفقود.

أود أن أبدأ من جديد:

rm -rf vendor/gems/cucumber
rm -rf vendor/gems/rspec-rails
rm -rf vendor/gems/rspec

ثم قم بتثبيت GEMS محليا:

gem install rspec rspec-rails cucumber

في هذه المرحلة، يجب أن تكون قادرا على اختبار التطبيق بنجاح.

وأخيرا، فك ثم في الخاص بك vendor/gems دير إذا رغبت في ذلك:

RAILS_ENV=test rake gems:unpack:dependencies GEM=rspec-rails
RAILS_ENV=test rake gems:unpack:dependencies GEM=cucumber

أو بدلا من ذلك:

RAILS_ENV=test rake gems:unpack:dependencies

إلى مجرد تفريغ كل شيء لبيئة الاختبار في vendor/gems. وبعد هذا من شأنه أن تفريغ nokogiri GEM أنت الآن قمت بتثبيت محليا ولكن ليس مجمدة في التطبيق.

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