1

我已经按照他们的建议使用Bundler安装了断点,包含在我的 config.rb 中,并在我的 main.scss 文件中包含了断点。require "breakpoint"

当我运行 grunt 编译所有内容时,出现以下错误:

error app/styles/main.scss (Line 5: File to import not found or unreadable: breakpoint.
Load paths:
    /Users/craigmdennis/Sites/craigmdennis.com/app/styles
    /Users/craigmdennis/.rbenv/versions/2.0.0-p247/lib/ruby/gems/2.0.0/gems/compass-core-1.0.0.alpha.19/stylesheets
    /Users/craigmdennis/Sites/craigmdennis.com/app/bower_components
    Compass::SpriteImporter)

所以 grunt 找不到指定的文件,而让我相信它可能没有正确安装。它似乎与这个问题非常相似:Sass Breakpoint 导致 Grunt 错误

我尝试使用 Bundler 安装另一个 gem,但 grunt 也找不到该文件;以同样的错误结束。

这是我运行时的输出bundle

Using sass (3.3.4)
Using chunky_png (1.3.0)
Using multi_json (1.9.2)
Using compass-core (1.0.0.alpha.19)
Using compass-import-once (1.0.4)
Using json (1.8.1)
Using rb-fsevent (0.9.4)
Using ffi (1.9.3)
Using rb-inotify (0.9.3)
Using rb-kqueue (0.2.2)
Using listen (1.1.6)
Using compass (1.0.0.alpha.19)
Using sassy-maps (0.3.2)
Using breakpoint (2.4.2)
Using bundler (1.5.3)
Your bundle is complete!

这表明项目设置为使用最新版本的 SASS 以及Breakpoint 所需的1.0.0.alpha.19Compass版本。13

这是我的 Gemfile:

source 'https://rubygems.org';

gem "sass", "~>3.3.4";
gem "breakpoint", "~>2.4.0";

这是我的 config.rb 文件:

require 'breakpoint';

这是我的 main.scss 文件:

// Include Compass
@import "compass";

// Include Breakpoint
@import "breakpoint";

这是我的 Gruntfile 的相关部分:

// Compiles Sass to CSS and generates necessary files if requested
    compass: {
        options: {
            sassDir: '<%= config.app %>/styles',
            cssDir: '.tmp/styles',
            generatedImagesDir: '.tmp/images/generated',
            imagesDir: '<%= config.app %>/images',
            javascriptsDir: '<%= config.app %>/scripts',
            fontsDir: '<%= config.app %>/styles/fonts',
            importPath: '<%= config.app %>/bower_components',
            httpImagesPath: '/images',
            httpGeneratedImagesPath: '/images/generated',
            httpFontsPath: '/styles/fonts',
            relativeAssets: false,
            assetCacheBuster: false
        },
        dist: {
            options: {
                generatedImagesDir: '<%= config.dist %>/images/generated'
            }
        },
        server: {
            options: {
                debugInfo: true
            }
        }
    },

有谁知道会发生什么?或者我可以做些什么来进一步缩小原因?

4

1 回答 1

2

你有两个问题正在发生。第一个问题是您的 Compass Grunt 选项没有指向您的config.rb文件,因此 Compass 不知道需要什么。Grunt Contrib Compass 能够通过选项定义您想要的内容require。第二个问题是您没有启用bundleExecCompass 中的选项,如果您想通过 Bundler 运行,则需要该选项。因此,您应该将以下内容添加到compass.options(假设您不想从config.rb文件中读取:

bundleExec: true, require: ['breakpoint']

于 2014-03-27T19:54:18.660 回答