لماذا لا يستطيع تطبيق القضبان الخاص بي العثور على الأحجار الكريمة التي يتم تعبئتها معها؟
-
11-09-2019 - |
سؤال
لدي تطبيق القضبان استخدام الخيار و 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 أنت الآن قمت بتثبيت محليا ولكن ليس مجمدة في التطبيق.