`rails new`:Linux和Windows中的不同行为

时间:2014-07-04 06:19:36

标签: ruby-on-rails-4 rspec-rails

我已经在Windows上使用Ruby on Rails几周了,现在我想转向Linux,我更喜欢它作为我的开发环境。在这两台机器中,我通过运行:

创建了一个演示应用程序
rails new demo

然后,为了安装Rspec,我在Gemfile中添加了相应的gem并运行bundle install。在这两台机器中,这个过程成功了。但是当我运行rails generate rspec:install时,Linux中的进程失败了。浏览StackOverflow后,我发现了我实际遇到的问题:rails generate rspec:install config/environments/development.rb:1:in <top (required)>': undefined methodconfigure'

根据上述问题的公认解决方案,问题是development.rb中的第一行是:

Rails.application.configure do

应该是......

Demo::Application.configure do

我注意到Windows中的rails new demo正确生成了development.rb文件,但在Linux中却没有。为什么会这样?我看到的唯一区别是我的Linux盒子里的Rails版本是4.1.1而Windows窗口中的版本是4.0.4。如果Linux中的版本比Windows中的版本更新,是否意味着Rails 4.1.1的RSpec安装被破坏了?这种不同的行为是否还有其他原因发生?

谢谢。

1 个答案:

答案 0 :(得分:0)

好的,我的错误是从我在Windows中编写的项目中复制粘贴Gemfile的内容。 Windows中的Gemfile具有以下行:

gem 'rails', '4.0.4'

而linux框中由rails new生成的原始Gemfile中的行是:

gem 'rails', '4.1.1'

因此我遇到版本不匹配问题。现在我已经从Windows复制粘贴了Gemfile的内容,但保留了行gem 'rails', '4.1.1'并且它可以正常工作。