conflicting sass / compass versions

2019-09-04 16:52发布

问题:

I've inherited a project and am having problems setting up the sass/compass workflow. Google search didn't yield any useful info on this.

I've got the following:

$ cat /etc/*-release
DISTRIB_ID=LinuxMint
DISTRIB_RELEASE=15
DISTRIB_CODENAME=olivia
DISTRIB_DESCRIPTION="Linux Mint 15 Olivia"
NAME="Ubuntu"
VERSION="13.04, Raring Ringtail"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 13.04"
VERSION_ID="13.04"

$ ruby --version
ruby 1.9.3p194 (2012-04-20 revision 35410) [x86_64-linux]

$ gem list

*** LOCAL GEMS ***

breakpoint (2.4.0)
celluloid (0.15.2)
chunky_png (1.2.9, 1.2.8)
color-schemer (0.2.7)
compass (0.12.2)
compass-blend-modes (0.0.2)
compass-core (1.0.0.alpha.16)
compass-normalize (1.4.3)
compass-rgbapng (0.2.1)
ffi (1.9.3)
fssm (0.2.10)
json (1.8.1)
listen (0.7.3)
multi_json (1.8.2)
rb-fsevent (0.9.3)
rb-inotify (0.9.3)
rb-kqueue (0.2.0)
sass (3.3.0.alpha.149)
sassy-maps (0.3.1)
sassy-strings (1.0.0)
singularitygs (1.1.2)
susy (1.0.9)
timers (1.1.0)
toolkit (1.3.8)
zurb-foundation (4.3.2, 4.2.3)

I've tried various versions of sass and compass but the error I get generally comes down to this:

$ grunt watch
Running "watch" task
Waiting...OK
>> File "sass/reset.scss" changed.

Running "compass:dist" (compass) task
Gem::LoadError on line ["1637"] of /usr/lib/ruby/1.9.1/rubygems/specification.rb: Unable to activate breakpoint-2.4.0, because sass-3.3.0.alpha.149 conflicts with sass (~> 3.3.0.rc.2), compass-0.12.2 conflicts with compass (~> 1.0.0.alpha.13)

My Gruntfile.js:

module.exports = function(grunt) {
  grunt.initConfig({
    pkg: grunt.file.readJSON('package.json'),
    compass: {
      dist: {
        options: {
          config: 'config.rb'
        }
      }
    },
    watch: {
      css: {
        files: ['sass/*.scss', 'sass/**/*.scss'],
        tasks: ['compass']
      }
    }
  });

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

  grunt.registerTask('default',['compass']);
}

I'm lost with these version compatibility issues, and have no Ruby background to go and sort them out by hand. Has anyone run into similar issues?

回答1:

I'm not an expert here on Ruby or gems, but it looks like the Breakpoint extension is the one causing the conflict. Reading the Breakpoint gem file confirms that it has the following requirements:

  • Sass 3.3.0.rc.2
  • Compass 1.0.0.alpha.13

Both of these are newer than the versions you currently have installed. It is also worth noting that neither of these versions are stable versions, so you'll have to update your gems using the --pre flag: sudo gem install sass --pre.