Точка останова установлена с Bundler, но все еще выдает ошибку "не найден или нечитаем" в Grunt
Я установил точку останова с помощью Bundler, как они предлагают, включены require "breakpoint"
в моем config.rb и включил точку останова в моем файле main.scss после компаса.
Я получаю следующую ошибку при запуске 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, и 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, а также версии Compass. 1.0.0.alpha.19
который выше 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
}
}
},
У кого-нибудь есть идеи, что может произойти? Или что я могу сделать, чтобы еще больше сузить дело?
1 ответ
У вас есть две проблемы. Первая проблема заключается в том, что ваши варианты Compass Grunt не указывают на ваш config.rb
файл, так что компас не знает, что требовать. Grunt Contrib Compass имеет возможность определить, что вам нужно, с помощью require
вариант. Вторая проблема в том, что вы не включили bundleExec
опция в компасе, которая необходима, если вы хотите запустить через Bundler. Итак, вы должны добавить следующее к compass.options
(при условии, что вы не хотите читать с вашего config.rb
файл:
bundleExec: true,
require: ['breakpoint']