0

我正在尝试使用gulp-compass插件将我的 scss 转换并缩小为 css。但是我收到以下错误:

$ gulp compass [02:14:32] 使用 gulpfile C:\Users\dell\Desktop\sassy - copy\gulpfile.js [02:14:32] 开始 'compass'... [02:14:32] 完成'compass' after 13 ms [02:14:33] LoadError on line ["55"] of C: cannot load such file -- bourbon 使用 --trace 运行以查看完整的回溯

events.js:160 抛出 er;// 未处理的“错误”事件 ^ 错误:指南针失败

这是我的 scss 文件的样子:

.scss 文件:

@import 'bower_components/bourbon/app/assets/stylesheets/bourbon';
@import 'bower_components/normalize-css/normalize';
@import 'bower_components/susy/sass/susy';

@import url('https://fonts.googleapis.com/css?family=Playfair+Display|Raleway');

@import 'partials/variables';
@import 'partials/base';
@import 'partials/footer';
@import 'partials/header';
@import 'partials/layout';
@import 'partials/modules';

以下是 gulpfile.js:

var gulp = require('gulp'), 
    compass = require('gulp-compass'),
    minifyCSS = require('gulp-minify-css');

gulp.task('compass', function() {
  gulp.src('assets/scss/styles.scss')
    .pipe(compass({
      sass: 'assets/sass',
      image: 'images',
      require:['bourbon', 'normalize','susy']
       }))
    .pipe(minifyCSS())
    .pipe(gulp.dest('css'));
});

bourbon我猜它不会让像, normalize,之类的插件susy编译和转换。我猜我可能做了一些错误的配置。

尝试安装 gems 但抛出以下错误:

gem install susy

gem install bourbon

c:\Users\Dell\Desktop\sassy - Copy>gulp compass
[23:23:59] Using gulpfile c:\Users\Dell\Desktop\sassy - Copy\gulpfile.js
[23:23:59] Starting 'compass'...
[23:23:59] Finished 'compass' after 14 ms
    error assets/sass/styles.scss (Line 1: File to import not found or unreadable: bower_components/bourbon/app/assets/stylesheets/bourbon.
Load paths:
  Compass::SpriteImporter
  c:/Users/Dell/Desktop/sassy - Copy/assets/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/susy-2.2.12/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/bourbon-4.3.4/app/assets/stylesheets)

Compilation failed in 1 files.


events.js:160
      throw er; // Unhandled 'error' event
      ^
Error:     error assets/sass/styles.scss (Line 1: File to import not found or unreadable: bower_components/bourbon/app/assets/stylesheets/bourbon.
Load paths:
  Compass::SpriteImporter
  c:/Users/Dell/Desktop/sassy - Copy/assets/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/compass-core-1.0.3/stylesheets
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/susy-2.2.12/sass
  C:/Ruby24/lib/ruby/gems/2.4.0/gems/bourbon-4.3.4/app/assets/stylesheets)
Compilation failed in 1 files.
4

1 回答 1

1

原因很简单,需要的是 Ruby gem,而不是 bower 或 node 库。

文档中,

在运行命令之前需要给定的 Ruby 库。这用于在没有项目配置文件的情况下访问 Compass 插件。

如果您不安装 Ruby gem,则可以要求它们。

gem install  susy
gem install bourbon

似乎 normalize-css 没有 Ruby gem。


新错误:

这个问题可能对你有帮助 为什么 Compass 在尝试导入 partials 时给我一个导入错误,你需要使用相对路径,否则它将搜索所需的 Ruby gem 路径。(我认为你安装了 bower 包)。

所以更改@import 'bower_components/bourbon/app/assets/stylesheets/bourbon';

@import './bower_component/..和所有的事情一样。

于 2017-08-23T11:29:16.627 回答