为什么我的Rails应用程序发现,包装与它的宝石?
-
11-09-2019 - |
题
我有一个Rails应用程序利用黄瓜和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
然后在本地安装的宝石:
gem install rspec rspec-rails cucumber
在这一点上,你应该能够成功地测试应用程序。
如果需要的话最后,然后解压到你vendor/gems
DIR:
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
宝石。
不隶属于 StackOverflow