罗盘和Susy需要不同版本的Sass。

4

我正在开发我的网站,希望同时使用Susy和Compass。我也在使用Grunt。但是当我运行grunt任务时,出现了以下错误:

Denniss-MacBook-Pro:portfolio dennis$ grunt --trace
Running "compass:dev" (compass) task
Gem::LoadError on line ["1990"] of /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/specification.rb: Unable to activate susy-2.1.1, because sass-3.2.17 conflicts with sass (~> 3.3.0)
Run with --trace to see the full backtrace
Warning: ↑ Use --force to continue.

Aborted due to warnings.

这是我的Grunt文件:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

watch: {
  options: {
    livereload: true
  },
  css: {
    files: ['_sass/*.{scss,sass}'],
    tasks: ['compass:dev']
  },
  js: {
    files: ['js/*.js'],
    tasks: ['uglify']
  }
},

compass: {
  options: {
    require: 'susy'
  },
  dev: {
    options: {
      sassDir: ['_sass'],
      cssDir: ['css'],
      environment: 'development',
    }
  },

  production: {
    options: {
      sassDir: ['_sass'],
      cssDir: ['css'],
      outputStyle: 'compressed',
      environment: 'production',
    }
  }
},

uglify: {
  all: {
    files: {
      'js/main.min.js': [
      'js/libs/*.js',
      'js/src/*.js'
      ]
    }
  }
},

connect: {
  port: 8000
}
  });

  grunt.loadNpmTasks('grunt-contrib-compass');
  grunt.loadNpmTasks('grunt-contrib-watch');
  grunt.loadNpmTasks('grunt-contrib-uglify');
  grunt.loadNpmTasks('grunt-contrib-connect');

  grunt.registerTask('default', ['compass:dev', 'uglify','connect', 'watch']);
  grunt.registerTask('production', ['compass:production', 'uglify']);
}

我不知道该怎么做,先谢谢了!

1个回答

9

依赖项存在问题,它们不兼容: susy 2.0.0 依赖于 sass ~> 3.3.0 compass 0.12.3 依赖于 sass = 3.2.14

您可以通过以下方式列出所有 gem:

gem list

尝试执行以下操作:

gem install compass --pre

这应该可以正常工作。


不可行。grunt-compass能否为“require”修复一个版本? - Thiago Macedo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接