0

我正在为一个需要安装黄瓜导轨训练轮的课程设置 Ubuntu 12.04。

我正在使用 Ruby 1.9.3 和 Rails 3.2.x。

在安装 Ruby 并执行 gem install rails -v 3.2.14 或 .15 之后,我安装了 cucumber

gem install cucumber -v **tried various versions**
gem install cucumber-rails -v **tried various versions**
gem install cucumber-rails-training-wheels

一切正常,除了每次我运行最后一个命令时,它也会将 Rails 版本更改为 4.0.1

我根本不想为此安装 Rails 4.0.1。

这是在此之前在多次尝试中安装的 gem 列表以及上述命令的结果。

gem list
actionmailer (3.2.15)
actionpack (3.2.15)
activemodel (3.2.15)
activerecord (3.2.15)
activeresource (3.2.15)
activesupport (3.2.15)
arel (3.0.2)
atomic (1.1.3)
builder (3.1.4, 3.0.4)
bundler (1.3.5)
bundler-unload (1.0.2)
capybara (2.1.0)
cucumber (1.3.8)
cucumber-rails (1.3.1)
diff-lcs (1.2.4)
erubis (2.7.0)
executable-hooks (1.2.6)
gherkin (2.12.2)
hike (1.2.3)
i18n (0.6.5)
journey (1.0.4)
json (1.8.1)
mail (2.5.4)
mime-types (1.25)
mini_portile (0.5.2)
minitest (4.7.0)
multi_json (1.8.2)
multi_test (0.0.2)
nokogiri (1.6.0)
polyglot (0.3.3)
rack (1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.15)
railties (3.2.15)
rake (10.1.0)
rdoc (3.12.2)
rubygems-bundler (1.4.2)
rvm (1.11.3.8)
sprockets (2.2.2)
sqlite3 (1.3.8)
sqlite3-ruby (1.3.3)
thor (0.18.1)
thread_safe (0.1.2)
tilt (1.4.1)
treetop (1.4.15)
tzinfo (0.3.38)
xpath (2.0.0)

gem install cucumber-rails-training-wheels
Successfully installed cucumber-rails-training-wheels-1.0.0
Successfully installed activesupport-4.0.1
Successfully installed rack-1.5.2
Successfully installed actionpack-4.0.1
Successfully installed activemodel-4.0.1
Successfully installed arel-4.0.1
Successfully installed activerecord-deprecated_finders-1.0.3
Successfully installed activerecord-4.0.1
Successfully installed actionmailer-4.0.1
Successfully installed railties-4.0.1
Successfully installed sprockets-2.10.0
Successfully installed sprockets-rails-2.0.1
12 gems installed

更新:我正在编写一个以这种方式完成的脚本。但是在考虑了更多之后,我认为我真的不需要以这种方式安装它,可以将其从初始 VM 设置脚本中删除,并根据需要将其包含在 Gemfile 中。通过 bundle install 添加时,我怀疑我不会遇到同样的问题。知道这是否可能以及为什么这样做仍然很有趣。我本来希望它不会安装 Rails,因为已经安装了更高版本的 Rails,然后它的依赖项已经安装。也许这不是它的工作方式,如果不是,将不胜感激发布或链接到一些关于 gem 依赖项如何工作的好信息。谢谢你。

更新2:我是对的。当它只包含在 Gemfile 中并且不需要在安装脚本中时,它可以正常工作。

4

1 回答 1

0

它安装了 rails 4.0.1,因为 cucumber-rails-training-wheels gem 依赖于 rails(每个 rails 版本高于 3.1)。看看: https ://github.com/cucumber/cucumber-rails-training-wheels/blob/master/cucumber-rails-training-wheels.gemspec

因此它安装了最新的 rails,即 rails 4.0.1。

于 2013-11-06T16:28:06.387 回答