Точка останова установлена ​​с 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']

Другие вопросы по тегам