New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compass 1.0.0 depends on Listen 1.1 #1634

Closed
kapowaz opened this Issue Apr 7, 2014 · 9 comments

Comments

Projects
None yet
9 participants
@kapowaz

kapowaz commented Apr 7, 2014

I've been successfully using Sass 3.2 and Compass 0.12.x with rake-pipeline for several projects for a while now; the setup I have uses listen and rerun to rebuild all assets whenever they change on-disk, but recently I decided I'd like to try out Sass 3.3. Unfortunately Compass 0.12.x is incompatible with Sass 3.3, and Compass 1.0.0 now depends on a pretty old version of listen, which results in an unresolvable dependency problem:

rerun 0.8.2 depends on listen ~> 1.0.3
rerun 0.9.0 depends on listen ~> 2.7
compass 1.0.0 depends on listen ~> 1.1

Could Compass 1.0.0 be updated to use listen ~> 2.7 instead? Alternatively (and perhaps preferably) could the part of Compass that requires on listen be made modular (it seems out of scope for Compass to be responsible for this functionality, given how most people will be using something like e.g. Sprockets to compile SCSS, so perhaps it ought to be a separate gem?).

@smaboshe

This comment has been minimized.

Show comment
Hide comment
@smaboshe

smaboshe Apr 24, 2014

Hi!

I'm experiencing a similar dependency spaghetti problem to @kapowaz while experimenting with "compass", "~> 1.0.0.alpha.19".

In my Gemfile, I have:

...
gem "guard-bundler"
...
gem "compass", "~> 1.0.0.alpha.19"
...

On running bundle install, the bundle fails to complete with the following error:

Bundler could not find compatible versions for gem "listen":
  In Gemfile:
    guard-bundler (>= 0) ruby depends on
      listen (~> 2.1) ruby

    compass (~> 1.0.0.alpha.19) ruby depends on
      listen (1.1.0)

Would it be possible to have the listen dependency for compass updated?

smaboshe commented Apr 24, 2014

Hi!

I'm experiencing a similar dependency spaghetti problem to @kapowaz while experimenting with "compass", "~> 1.0.0.alpha.19".

In my Gemfile, I have:

...
gem "guard-bundler"
...
gem "compass", "~> 1.0.0.alpha.19"
...

On running bundle install, the bundle fails to complete with the following error:

Bundler could not find compatible versions for gem "listen":
  In Gemfile:
    guard-bundler (>= 0) ruby depends on
      listen (~> 2.1) ruby

    compass (~> 1.0.0.alpha.19) ruby depends on
      listen (1.1.0)

Would it be possible to have the listen dependency for compass updated?

@jonathansick

This comment has been minimized.

Show comment
Hide comment
@jonathansick

jonathansick May 14, 2014

👍 Also ran into this issue: I can’t use compass in a Jekyll 2.0 project since Jekyll requires listen ~> 2.5.

jonathansick commented May 14, 2014

👍 Also ran into this issue: I can’t use compass in a Jekyll 2.0 project since Jekyll requires listen ~> 2.5.

@Arcovion

This comment has been minimized.

Show comment
Hide comment
@Arcovion

Arcovion May 22, 2014

Also ran into this, some people are having problems updating because of it: #1470
According to gem dependency, #1306 was never properly implemented:

λ gem dependency compass -v 1.0.0.alpha.19
Gem compass-1.0.0.alpha.19
  chunky_png (~> 1.2)
  compass-core (~> 1.0.0.alpha.19)
  compass-import-once (~> 1.0.3)
  json (>= 0)
  listen (~> 1.1.0)
  sass (< 3.5, >= 3.3.0)

Gem compass-core-1.0.0.alpha.19
  bundler (>= 0, development)
  multi_json (~> 1.0)
  rake (>= 0, development)
  sass (< 3.5, >= 3.3.0)

Note that we previously didn't rely on listen:

λ gem dependency compass -v 0.12.2
Gem compass-0.12.2
  chunky_png (~> 1.2)
  fssm (>= 0.2.7)
  sass (~> 3.1)

Sass doesn't even include it in their gemspec, they just require from the local gems and fall back to a vendored version for old versions of ruby (from what I can tell)...

Edit: After some more research I think just upgrading Listen to 2.x.x is the way to go, then those who want to let Sass handle it can use the new compass-core gem.

Arcovion commented May 22, 2014

Also ran into this, some people are having problems updating because of it: #1470
According to gem dependency, #1306 was never properly implemented:

λ gem dependency compass -v 1.0.0.alpha.19
Gem compass-1.0.0.alpha.19
  chunky_png (~> 1.2)
  compass-core (~> 1.0.0.alpha.19)
  compass-import-once (~> 1.0.3)
  json (>= 0)
  listen (~> 1.1.0)
  sass (< 3.5, >= 3.3.0)

Gem compass-core-1.0.0.alpha.19
  bundler (>= 0, development)
  multi_json (~> 1.0)
  rake (>= 0, development)
  sass (< 3.5, >= 3.3.0)

Note that we previously didn't rely on listen:

λ gem dependency compass -v 0.12.2
Gem compass-0.12.2
  chunky_png (~> 1.2)
  fssm (>= 0.2.7)
  sass (~> 3.1)

Sass doesn't even include it in their gemspec, they just require from the local gems and fall back to a vendored version for old versions of ruby (from what I can tell)...

Edit: After some more research I think just upgrading Listen to 2.x.x is the way to go, then those who want to let Sass handle it can use the new compass-core gem.

@acusti

This comment has been minimized.

Show comment
Hide comment
@acusti

acusti Jun 10, 2014

Same problem here using Compass 1.x with Jekyll 2.0.3, like @jonathansick. For the sake of those searching for the text of an error message and wondering what the problem is, here’s the text of the error message I received:

Unable to activate compass-1.0.0.alpha.19, because listen-2.7.7 conflicts with listen (~> 1.1.0) (Gem::LoadError)

acusti commented Jun 10, 2014

Same problem here using Compass 1.x with Jekyll 2.0.3, like @jonathansick. For the sake of those searching for the text of an error message and wondering what the problem is, here’s the text of the error message I received:

Unable to activate compass-1.0.0.alpha.19, because listen-2.7.7 conflicts with listen (~> 1.1.0) (Gem::LoadError)
@lifeiscontent

This comment has been minimized.

Show comment
Hide comment
@lifeiscontent

lifeiscontent Jun 13, 2014

@chriseppstein whats the status of this issue? Would love to get it resolved soon. If I cut a release of compass could we merge it into master?

lifeiscontent commented Jun 13, 2014

@chriseppstein whats the status of this issue? Would love to get it resolved soon. If I cut a release of compass could we merge it into master?

@equivalentideas

This comment has been minimized.

Show comment
Hide comment
@equivalentideas

equivalentideas Jun 18, 2014

Same issue here:

Bundler could not find compatible versions for gem "listen":
  In Gemfile:
    jekyll (~> 2.0.3) ruby depends on
      listen (~> 2.5) ruby

    compass (~> 1.0.0.alpha.17) ruby depends on
      listen (1.1.0)

equivalentideas commented Jun 18, 2014

Same issue here:

Bundler could not find compatible versions for gem "listen":
  In Gemfile:
    jekyll (~> 2.0.3) ruby depends on
      listen (~> 2.5) ruby

    compass (~> 1.0.0.alpha.17) ruby depends on
      listen (1.1.0)
@edmundask

This comment has been minimized.

Show comment
Hide comment
@edmundask

edmundask Jun 26, 2014

Yes, I'd really like to see this old listen version dependency go away.

Bundler could not find compatible versions for gem "listen":
  In Gemfile:
    guard (~> 2.0) ruby depends on
      listen (~> 2.0) ruby

    compass (~> 1.0.0.alpha.19) ruby depends on
      listen (1.1.0)

edmundask commented Jun 26, 2014

Yes, I'd really like to see this old listen version dependency go away.

Bundler could not find compatible versions for gem "listen":
  In Gemfile:
    guard (~> 2.0) ruby depends on
      listen (~> 2.0) ruby

    compass (~> 1.0.0.alpha.19) ruby depends on
      listen (1.1.0)
@Arcovion

This comment has been minimized.

Show comment
Hide comment
@Arcovion

Arcovion Jul 2, 2014

The listen gem is removed in compass-1.0.0.alpha.20, falling back to the Sass version.

λ gem dependency compass -v 1.0.0.alpha.20
Gem compass-1.0.0.alpha.20
  chunky_png (~> 1.2)
  compass-core (~> 1.0.0.alpha.20)
  compass-import-once (~> 1.0.4)
  rb-fsevent (>= 0.9.3)
  rb-inotify (>= 0.9)
  sass (< 3.5, >= 3.3.0)

Gems and bundles using sass or compass should now explicitly mention listen v2.

Arcovion commented Jul 2, 2014

The listen gem is removed in compass-1.0.0.alpha.20, falling back to the Sass version.

λ gem dependency compass -v 1.0.0.alpha.20
Gem compass-1.0.0.alpha.20
  chunky_png (~> 1.2)
  compass-core (~> 1.0.0.alpha.20)
  compass-import-once (~> 1.0.4)
  rb-fsevent (>= 0.9.3)
  rb-inotify (>= 0.9)
  sass (< 3.5, >= 3.3.0)

Gems and bundles using sass or compass should now explicitly mention listen v2.

@chriseppstein

This comment has been minimized.

Show comment
Hide comment
@chriseppstein

chriseppstein Aug 18, 2014

Member

not anymore

Member

chriseppstein commented Aug 18, 2014

not anymore

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment