Warum sagt "Kompassuhr", dass sass / script / node (LoadError) nicht geladen werden kann?

70

Ich habe ein Problem mit meinem Kompassüberwachungsbefehl - er hat bis vor ein paar Tagen einwandfrei funktioniert. Ich habe keine Änderungen an meinen Konfigurationsdateien vorgenommen.

Ich habe Compass neu installiert und mit rvm Ruby aktualisiert. Ich habe meine Datei custom_require.rb überprüft, weiß aber wirklich nicht, wonach ich suchen soll. Es scheint zu versuchen, die Datei "sass / script / node" irgendwo zu laden und von dort http://sass-lang.com/docs/yardoc/Sass/Script/Node.htmlsammle ich den Dateipfad - aber ich habe dort nichts.

/Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `require': cannot load such file -- sass/script/node (LoadError)
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:4:in `each'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:19:in `<top (required)>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/compass:19:in `load'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/compass:19:in `<main>'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `eval'
  from /Users/sampurcell/.rvm/gems/ruby-1.9.3-p194/bin/ruby_noexec_wrapper:14:in `<main>'

Hat jemand irgendwelche Ideen?

Sam Purcell
quelle
29
Repariert! Ich musste sass neu installieren - ich habe ursprünglich versucht zu laufen, gem install sassaber ich musste zuerst laufen gem uninstall sass. Einfacher Fehler, und obwohl ich mir der Ursache nicht sicher bin, scheint er abhängig zu sein.
Sam Purcell
2
Habe ähnliche Probleme mit 3.3.0.alpha Builds. Die stabile Standard-Sass-Version scheint das Problem zu lösen.
jfroom
Kostenlos kostenlos, um Ihren Fix als Antwort zu formatieren und als beantwortet zu markieren - Lösungen, die von demjenigen gefunden wurden, der die Frage gestellt hat, sind für die Nachwelt und die Öffentlichkeit ebenso nützlich.
Iono
@SamPurcell wie Sie in Ihrem Kommentar schreiben, durch die Neuinstallation von SASS habe ich das gleiche Problem gelöst. Vielen Dank. Ich denke, Sie sollten eine Antwort schreiben und akzeptieren.
Pontard

Antworten:

113

Deinstallieren Sie sass und installieren Sie es wie folgt neu:

gem uninstall sass
gem install sass

Es gab ein Problem mit meiner Installation von sass, und dadurch wurde das Problem behoben.

Mike Grace
quelle
Ich liebe es, wie etwas so Einfaches solche Probleme lösen kann ... Ich muss auch Google- und SO-Requisiten geben, damit dies die zweite Option in den Abfrageergebnissen ist
beauXjames
1
Dies funktionierte für mich unter OS X. Ich hatte tatsächlich zwei Sass-Versionen auf meinem Computer, und vielleicht funktionierte es deshalb bei mir nicht. Als ich deinstalliert habe, habe ich beide Versionen deinstalliert, dann habe ich 'gem install sass' gemacht und dann hat kompass funktioniert.
Chris Livdahl
Das ist auf streng negative Weise erstaunlich. (die Form der Lösung, nicht Ihre Arbeit, Mike)
Parham
Das ist albern - sollte Sass nicht im Kompass enthalten sein?
Nick Coad
5
Ich musste Gem Deinstallationskompass und Gem Install Kompass machen , dann funktionierte es!
Asaf
24

In meinem Fall war die Sass-Version nicht mit Compass kompatibel.

UPDATE:

  1. deinstallieren Sie Sass AND Compass

    gem uninstall compass
    gem uninstall sass
    
  2. Installieren Sie Compass, der automatisch eine kompatible Sass-Engine installiert

    gem install compass
    
Nicolas Janel
quelle
Das ist wirklich hilfreich. Nur Sass zu deinstallieren, hat mir nicht geholfen.
Alexander Beletsky
Ich hatte es selbst versucht und es funktionierte nicht - ich musste Gemfiles verwenden. Vielleicht habe ich diese nicht in der richtigen Reihenfolge ausgeführt? Mit Gemfiles können Sie genau angeben, was installiert wird, und vermeiden, dass in Zukunft ein Upgrade von den erforderlichen Versionen durchgeführt wird.
Nick
Vielen Dank. Die Deinstallation von sass hat wirklich nicht geholfen.
Dekisha
Danke. Ich brauchte
Sudo
13

Diese Kombination funktioniert endlich für mich, um Compass und SASS Sourcemaps zusammenzubringen:

Gemfile

gem 'sass', '3.3.0.alpha.149'
gem 'compass', '0.12.2'
gem 'compass-sourcemaps', "~> 0.12.2.sourcemaps.57a186c"

Kompass config.rb

sass_options = {:sourcemap => true}
Volker Rose
quelle
DANKESCHÖN. Das hat ewig gedauert. Die Kombination von sass 3.3.0.alpha.149 und Kompass 0.12.2 hat es geschafft.
TaylorMac
Testen Sie RubyGems, um die genauen Abhängigkeiten für Ihre Kompassversion herauszufinden - rubygems.org/gems/compass . In meinem Beitrag weiter unten finden Sie Informationen dazu, wie Sie Versionsbereiche in Gemfiles erstellen.
Nick
10

Diese spezielle Version funktioniert gut auf beiden:

gem 'sass', '3.3.0.alpha.149'
gem 'compass', '0.12.2'

Sie sind möglicherweise nicht miteinander kompatibel, weshalb diese Fehler auftreten (wenn Sie eine aktuelle Version verwenden).

Jürgen Paul
quelle
1
Ich hatte auch damit zu kämpfen und versuchte, SASS Source Maps zum Laufen zu bringen. github.com/chriseppstein/compass/issues/1339 zielt darauf ab.
Volker Rose
4

Wenn Sie Ubuntu verwenden, kann dies ein Problem mit der Kollision von apt-get und rvm sein.

Versuchen Sie, rvm mit zu entfernen rvm implode und dann auszuführen

sudo apt-get install ruby-compass 

compass watch arbeitete danach für mich.

raam86
quelle
3

Eine Variation der obigen Antworten: Für mich (mit Bootstrap für Sass) stellte sich heraus, dass dies der Fall war

gem install bootstrap-sass

das wurde benötigt, um dieses Problem zu beheben. Für mich begann das LoadError-Problem mit Compass, nachdem ich die von mir verwendete Ruby-Version aktualisiert hatte.

Nick F.
quelle
1
Für mich behoben! (wusste nicht, dass Bootstrap-Sass eine rubinrote Sache ist) dachte, es sei ein npm-Paket oder etwas anderes, das ich bereits installiert hatte.
Cory Danielson
3

Ich glaube, das liegt an Versionskonflikten mit sass.

https://rubygems.org/gems/compass gem befindet sich derzeit auf v0.12.16- fügen Sie dies zu Gemfile hinzu

gem 'sass', '3.2.19'
gem 'compass', '0.12.6'

Möglicherweise müssen Sie zuerst alle Versionen beider Edelsteine ​​deinstallieren.

lfender6445
quelle
Genau das hat mich auf den richtigen Weg zur Lösung dieses Problems geführt, danke!
Nick
2

Ich konnte es dadurch beheben

gem uninstall sass
gem install sass -v 3.2.12

Dies ist definitiv auf ein Versionsabhängigkeitsproblem zurückzuführen. Sie sollten Ihre Grunzaufgabe besser beheben, um sie vorwärtskompatibel mit den neueren Versionen von Saas, Kompass usw. zu machen.

ice.nicer
quelle
1

Ich hatte das gleiche Problem und stellte dann fest, dass ich zwei Kompassversionen hatte.

compass watch oder compass compile

Der Compiler wusste nicht, welche Kompassversion er zum Kompilieren verwenden sollte. Sie können also explizit die Kompassversion angeben, mit der Sie arbeiten möchten:

compass _1.0.3_ watch

Es gibt noch einen anderen interessanten Thread .

Sérgio
quelle
0

Die folgenden Kombinationen haben bei mir funktioniert:

gem install compass --pre
gem install sass -v 3.3.3
ATSiem
quelle
0

Ich musste eine Gem-Datei mit den richtigen Versionen einrichten (dieser Fehler wird für mich durch nicht übereinstimmende SASS- und Compass-Versionen verursacht). Ich habe Folgendes verwendet bundle install, um das Problem zu beheben:

source "https://rubygems.org"

gem 'bootstrap-sass', "~> 3.2.0"
gem 'sass', [ "< 3.5" , ">= 3.3.13" ]
gem 'compass', "~> 1.0.1"
gem 'compass-core', "~> 1.0.1"
gem 'compass-import-once', "~> 1.0.5"
gem 'chunky_png', "~> 1.2"
gem 'rb-fsevent', ">= 0.9.3"
gem 'rb-inotify', ">= 0.9"
Nick
quelle