我已根据他们的建议使用Breakpoint安装Bundler,在我的config.rb中包含require "breakpoint"
,并在罗盘后的main.scss文件中包含断点。
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 causing Grunt error
我尝试用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以及高于1.0.0.alpha.19
required by Breakpoint的指南针版本13
。
source 'https://rubygems.org';
gem "sass", "~>3.3.4";
gem "breakpoint", "~>2.4.0";
require 'breakpoint';
// Include Compass
@import "compass";
// Include Breakpoint
@import "breakpoint";
// 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
}
}
},
有没有人有任何想法会发生什么?或者我可以做些什么来进一步缩小原因?
答案 0 :(得分:2)
你有两个问题正在发生。第一个问题是你的Compass Grunt选项没有指向你的config.rb
文件,因此Compass并不知道需要什么。 Grunt Contrib Compass能够通过require
选项定义您想要的内容。第二个问题是你没有在Compass中启用bundleExec
选项,如果你想通过Bundler运行则需要这个选项。因此,您应该将以下内容添加到compass.options
(假设您不想阅读config.rb
文件:
bundleExec: true,
require: ['breakpoint']