【问题标题】:Installing bootstrap sass with compass使用指南针安装引导 sass
【发布时间】:2014-04-14 21:37:07
【问题描述】:

我正在尝试安装 bootstrap-sass 并收到以下错误。我尝试过旧版本的 sass,但 bundler 一直在安装 3.3.0。

WARN: Unresolved specs during Gem::Specification.reset:
sass (~> 3.2)
WARN: Clearing out unresolved specs.
Please report a bug if this causes problems.
/Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in require': cannot load such file -- sass/script/node (LoadError)
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in require'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:inblock in '
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in each'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in require'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass.rb:5:in require'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass.rb:5:inblock in '
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass.rb:4:in each'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/lib/compass.rb:4:in'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/bin/compass:20:in require'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/bin/compass:20:inblock in '
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/bin/compass:8:in fallback_load_path'
from /Library/Ruby/Gems/2.0.0/gems/compass-0.12.2/bin/compass:19:in'
from /usr/bin/compass:23:in load'
from /usr/bin/compass:23:in'

我的 Ruby 版本 - ruby 2.0.0p247(2013-06-27 修订版 41674)[universal.x86_64-darwin13]

我的宝石文件

source "https://rubygems.org"

gemspec

platform :rbx do
  gem 'rubysl', '~> 2.0'
  gem 'json', '>= 1.8.1'
  gem 'rubysl-test-unit', '~> 2.0'
  gem 'racc'
end

我的宝石规格

lib = File.expand_path('../lib', __FILE__)
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
require 'bootstrap-sass/version'

Gem::Specification.new do |s|
  s.name     = "bootstrap-sass"
  s.version  = Bootstrap::VERSION
  s.authors  = ["Thomas McDonald"]
  s.email    = 'tom@conceptcoding.co.uk'
  s.summary  = "Twitter's Bootstrap, converted to Sass and ready to drop into Rails or Compass"
  s.homepage = "https://github.com/twbs/bootstrap-sass"
  s.license  = 'MIT'

  s.add_development_dependency 'compass'
  s.add_development_dependency 'term-ansicolor'
  s.add_development_dependency 'sass-rails', '>= 3.2'
  s.add_runtime_dependency 'sass', '~> 3.3.0'

  s.add_development_dependency 'capybara'
  s.add_development_dependency 'poltergeist'
  s.add_development_dependency 'tzinfo'
  s.add_development_dependency 'jquery-rails'
  s.add_development_dependency 'slim-rails'
  s.add_development_dependency 'uglifier'

  s.files      = `git ls-files`.split("\n")
  s.test_files = `git ls-files -- test/*`.split("\n")
end

【问题讨论】:

  • Compass 0.12 与 Sass 3.3 不兼容。您需要升级到边缘版本 (gem install compass --pre)。
  • 嗨,谢谢你,是的,我在其他地方读到过这个,说要降级 sass,我也试过了。两者都无济于事。
  • 你的 ruby​​ 版本是什么,你的 Gemfile 和/或 gemspec 中有什么?
  • 为您添加了该信息@ggPeti
  • 等等,所以您不只是尝试安装 bootstrap-sass,而是检查了它的源代码并尝试运行 bundle install?

标签: ruby twitter-bootstrap rubygems sass bundler


【解决方案1】:

如果您确实检查了 bootstrap-sass 代码,请在 .gemspec 中更改此行:

s.add_runtime_dependency 'sass', '~> 3.3.0'

s.add_runtime_dependency 'sass', '~> 3.2.0'

在此之后,运行bundle update sass,然后运行bundle clean --force。降级 sass gem 时的问题是 compass 仍会尝试加载较新的 gem,这就是您需要 clean 的原因(或者如果它更适合您,您可以使用 gem uninstall)。

【讨论】:

    【解决方案2】:

    安装gem

    gem install bootstrap-sass
    

    如果您有一个现有的 Compass 项目:

    # config.rb:
    require 'bootstrap-sass'
    
    bundle exec compass install bootstrap
    

    如果您正在创建一个新的 Compass 项目,您可以使用 bootstrap-sass 支持生成它:

    bundle exec compass create my-new-project -r bootstrap-sass --using bootstrap
    

    这将创建一个新的 Compass 项目,其中包含以下文件:

    • _variables.scss - 所有引导变量(在此处覆盖它们)。
    • styles.scss - 主项目 SCSS 文件、导入变量和引导程序。

    一些 bootstrap-sass mixin 可能与 Compass 冲突。如果发生这种情况,请更改导入顺序,以便稍后加载 Compass mixin。

    【讨论】:

      【解决方案3】:

      我会推荐yeoman(bower/grunt) 来管理您的客户端库。它不仅会使用 comapss 下载 bootstrap 并安装它,它还可以在文件更改时轻松更新和自动重新编译 sass,并使用 life reload 重新加载浏览器。它带有 grunt,您可以设置它来缩小 js、css 和压缩 svg、png 等。

      【讨论】:

        猜你喜欢
        • 2014-05-17
        • 1970-01-01
        • 2013-09-10
        • 2013-12-21
        • 1970-01-01
        • 2014-05-27
        • 2014-11-30
        • 2012-12-27
        相关资源
        最近更新 更多