【问题标题】:Problems loading bootstrap-sass when starting thin server, rails启动瘦服务器时加载 bootstrap-sass 时出现问题,rails
【发布时间】:2012-09-20 07:48:40
【问题描述】:

我正在尝试启动我的瘦服务器。这不起作用,失败并出现以下错误:

myApp/gems/bootstrap-sass-2.1.0.0/lib/bootstrap-sass.rb:18:in `load!': 
bootstrap-sass requires either Rails > 3.1 or Compass, neither of which 
are loaded (Bootstrap::FrameworkNotFound)
from /Users/MyName/.rvm/gems/ruby-1.9.3-p194@myApp/gems/bootstrap-sass-2.1.0.0/lib/bootstrap-sass.rb:43:in `<top (required)>'
*a bounch of more lines indicating code lines*

我尝试使用 gem 'compass' 代替 'compass-rails'。那没有结果。我试图将它放在我的 :assets 组之外,但没有运气。这是怎么回事?

我无法找到有关此的任何信息。我的 gemfile 看起来像这样:

source 'https://rubygems.org'

gem 'rails', '3.2.8'
gem 'pg', '0.12.2'

group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'
  gem 'compass-rails'
  gem "bootstrap-sass", ">= 2.1.0.0"
  gem 'uglifier', '>= 1.0.3'
end

group :test do
  gem 'shoulda'
  gem 'mocha'
end

gem 'jquery-rails'
gem "thin", ">= 1.4.1"
gem "rspec-rails", ">= 2.11.0", :group => [:development, :test]
gem "capybara", ">= 1.1.2", :group => :test
gem "email_spec", ">= 1.2.1", :group => :test
gem "cucumber-rails", ">= 1.3.0", :group => :test, :require => false
gem "database_cleaner", ">= 0.8.0", :group => :test
gem "launchy", ">= 2.1.2", :group => :test
gem "factory_girl_rails", ">= 4.0.0", :group => [:development, :test]

gem "devise", ">= 2.1.2"
gem "cancan", ">= 1.6.8"
gem "rolify", ">= 3.2.0"
gem 'faker', '1.0.1'
gem 'will_paginate', '3.0.3'
gem 'paperclip', '~> 3.0'
gem 'ayah_integration'
gem 'rails_autolink'

【问题讨论】:

  • 运行 ruby​​ 1.9.3p194、Rails 3.2.6、osX 10、使用 rails composer (bootstrap-devise-cancan) 生成的项目。

标签: ruby-on-rails twitter-bootstrap gem thin


【解决方案1】:

所以,我发现了问题所在。这很愚蠢..所以:

在我的 config.ru 文件中,我有以下内容:

...
require 'bootstrap-sass'
require ::File.expand_path('../config/environment',  __FILE__)
...

应该是相反的:

...
require ::File.expand_path('../config/environment',  __FILE__)
require 'bootstrap-sass'
...

【讨论】:

  • 我在我的 config.ru 中没有 require 'bootstrap-sass' 并且我的网站多年来一直运行良好...运行 rails g rails_admin:install 时出现上述错误跨度>
  • @Geoff,您可能需要将 Gemfile 中的 SASS/Compass/whatever 从rails_admin 下方移动到rails_admin 上方,然后再次移动bundle install。我的理解是rails_admin使用bootstrap-sass
  • @JasonSwett 谢谢,我相信这已经解决了 - 我将 rails_admin 移到了我的 Gemfile 的底部,此后一直很好!
【解决方案2】:

就我而言,问题出在Gemfile,我有:

gem 'bootstrap-sass', '~> 2.3.1.0'  
gem 'sass-rails',   '~> 3.2.0'  

它应该是:

gem 'sass-rails',   '~> 3.2.0'
gem 'bootstrap-sass', '~> 2.3.1.0'

如果您不使用 Compass,则无需在 config.ru 中使用 require 'bootstrap-sass'

[edit] Gemfile 中的订单是否会破坏应用程序,真的有很好的理由吗?我发现这是一个架构缺陷

【讨论】:

  • 这为我解决了这个问题,只是我没有将sass-rails 切换为bootstrap-sass,而是将sass-rails 切换为rails_admin
【解决方案3】:

我现在在我的Gemfile 中使用这个组合,它似乎工作正常。

group :assets do
  gem 'bootstrap-sass', '~> 2.0.4.0'
  gem 'compass'
end

【讨论】:

  • 在我的帖子中添加了一些评论。
  • 也有原贴的错误,上面试过了,还是不行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-10-25
  • 1970-01-01
  • 2017-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-12-25
相关资源
最近更新 更多