【问题标题】:rails generate rspec:install - no such file to load --sprockets/railtie (LoadError)rails generate rspec:install - 没有要加载的文件--sprockets/railtie (LoadError)
【发布时间】:2012-02-24 07:03:47
【问题描述】:

我是一名 RoR-Beginner,我从 RoR-Tutorial 开始学习它。 实际上我在本章(http://ruby.railstutorial.org/chapters/static-pages#top)并尝试安装rspec。但每次我尝试使用“rails g rspec:install”时都会收到以下错误消息:

C:\Sites\rails\rails_projects\sample_appp>rails g rspec:install
C:/Sites/rails/rails_projects/sample_appp/config/application.rb:8:in `require':
no such file to load -- sprockets/railtie (LoadError)
        from C:/Sites/rails/rails_projects/sample_appp/config/application.rb:8:i
n `<top (required)>'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.0.9
/lib/rails/commands.rb:15:in `require'
        from C:/RailsInstaller/Ruby1.9.2/lib/ruby/gems/1.9.1/gems/railties-3.0.9
/lib/rails/commands.rb:15:in `<top (required)>'
        from script/rails:6:in `require'
        from script/rails:6:in `<main>'

有没有人可以帮助我?我已经尝试在 application.rb 中将其注释掉,或者在 gemfile 中明确提及它。但我仍然收到此错误消息。

如果有人可以帮助我,那就太好了。顺便提一句。我的操作系统是 Windows XP,我使用的是 Ruby 版本 1.9.2.p290 和 Rails 版本 3.1.0.rc6。

【问题讨论】:

  • Rails 3.1 还不稳定,你应该降级到 rails 3.0.x
  • 如果你只是在学习,你应该继续使用 3.1。它对于学习来说非常稳定,并且可能会在您准备好投入生产之前发布。实际上,我已经使用一些简单的 3.1 应用程序投入生产,它们运行良好 - 关键是测试、测试、测试。

标签: ruby-on-rails sprockets


【解决方案1】:

这就是我所做的:

网站上的 gemfile 显然有点错误,我正在使用这个:

source 'http://rubygems.org'

gem "rails", "~> 3.1.0"
gem 'sqlite3', '1.3.3'

group :development do
gem 'rspec-rails', '2.6.1'
end

group :test do
gem 'rspec-rails', '2.6.1'
gem 'webrat', '0.7.1'
end

在您的终端类型中

$ bundle update
$ bundle install

然后重试该命令

rails generate rspec:install

祝你好运! :)

【讨论】:

    【解决方案2】:

    您是如何安装 rspec 的?你做了“gem install”还是把它放在你的Gemfile中?如果它只在您的 Gemfile 中,请尝试将“bundle exec”放在您的命令前面,如下所示:

    bundle exec rails g rspec:install
    

    我知道当我运行规范时我必须使用 bundle exec,所以你可能也需要它来运行 init 脚本(我不记得我是从什么时候开始的,但我有完全相同的 ruby​​/rails 版本)

    【讨论】:

      【解决方案3】:

      好像您已经使用更高版本(rails 3.1)的 rails gem 创建了您的项目。确保您使用的是只有 rails 3.0.9 gems 的 gemset,然后执行 rails new 来创建您的项目。这将确保 sprockets/railtie 线不会出现在您的应用程序中。rb

      【讨论】:

        猜你喜欢
        • 2013-01-31
        • 2011-12-17
        • 1970-01-01
        • 2014-01-16
        • 2011-02-23
        • 2013-12-14
        • 2011-12-19
        • 2011-11-30
        • 2016-05-09
        相关资源
        最近更新 更多