我已经在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 method
configure'。
根据上述问题的公认解决方案,问题是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安装被破坏了?这种不同的行为是否还有其他原因发生?
谢谢。
答案 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'
并且它可以正常工作。