2013-03-19 9 views
42

Ich habe Sass erfolgreich installiert, aber ich habe Probleme beim Importieren von Compass.Zu importierende Datei nicht gefunden oder nicht lesbar: Kompass

Im Folgenden ist der Fehler Detail:

*Syntax error: File to import not found or unreadable: compass. 
       Load path: H:/HTML/___keoFull/sass 
..... 
Backtrace: 
mainKeo.scss:2 
style.scss:2 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/import_node.rb:67:in `rescue in import' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/import_node.rb:45:in `import' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/import_node.rb:28:in `imported_file' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/import_node.rb:37:in `css_import?' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:217:in `visit_import' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:37:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:100:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:227:in `block in visit_import' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:227:in `map' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:227:in `visit_import' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:37:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:100:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:53:in `block in visit_children' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:53:in `map' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:53:in `visit_children' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:109:in `block in visit_children' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:121:in `with_environment' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:108:in `visit_children' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:37:in `block in visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:128:in `visit_root' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/base.rb:37:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:100:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/visitors/perform.rb:7:in `visit' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/tree/root_node.rb:20:in `render' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/engine.rb:315:in `_render' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/engine.rb:262:in `render' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/plugin/compiler.rb:341:in `update_stylesheet' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/plugin/compiler.rb:203:in `block in update_stylesheets' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/plugin/compiler.rb:201:in `each' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/plugin/compiler.rb:201:in `update_stylesheets' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/plugin/compiler.rb:235:in `watch' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/plugin.rb:107:in `method_missing' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/exec.rb:444:in `watch_or_update' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/exec.rb:307:in `process_result' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/exec.rb:41:in `parse' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/lib/sass/exec.rb:21:in `parse!' 
C:/Ruby193/lib/ruby/gems/1.9.1/gems/sass-3.2.6/bin/sass:9:in `<top (required)>'* 
+17

Warum haben Sie meine ausdrückliche Antwort zugunsten einer kurzen Antwort, die nichts Neues hinzufügt, nicht akzeptiert? –

+2

antworte dem Mann. – Prisoner

+0

Ich glaube, ich habe einfach akzeptiert, was für mich bei meinem ersten Versuch funktioniert lol. Deine Antwort war großartig, um aller anderen willen, die diese Frage besuchen, werde ich sie akzeptieren. GJ –

Antwort

113

Kompass stellt die Art und Weise partials importiert werden. Es ermöglicht den Import von Komponenten ausschließlich anhand ihres Namens, ohne den Pfad anzugeben.

Bevor Sie @import 'compass'; tun können, sollten Sie:

Compass installieren als Ruby-Juwel:

gem install compass 

Danach sollten Sie Compass eigene Kommandozeilen-Tool verwenden, um Ihre SASS Code zu kompilieren:

cd path/to/your/project/ 
compass compile 

Beachten Sie, dass Compass eine Konfigurationsdatei namens config.rb anfordert. Sie sollten es erstellen, damit Compass funktioniert.

Die minimale config.rb kann dies so einfach sein:

css_dir = "css" 
sass_dir = "sass" 

Und Ihre SASS-Code sollte in sass/ befinden.

Anstatt eine Konfigurationsdatei manuell zu erstellen, können Sie ein leeres Compass-Projekt mit compass create <project-name> erstellen und dann Ihren SASS-Code darin kopieren.

Beachten Sie, dass, wenn Sie Compass Erweiterungen verwenden möchten, müssen Sie:

  1. sie von der config.rb erfordern;
  2. importieren Sie sie aus Ihrer SASS-Datei.

Mehr Infos hier: http://compass-style.org/help/

+1

+1 Große Antwort; Mein Problem war, dass ich sie nicht in 'config.rb' –

+3

brauchte, nur für den Fall, dass Sie es nicht bemerkt haben. Diese Frage und Antwort sind NICHT für Schienen. –

+0

Vielen Dank, das war der letzte Schliff für mich bei der Installation Kompass/Sass mit Laravel – a7omiton

2

Kurz gesagt, wenn Sie den Edelstein den Lauf installiert haben:

compass compile 

in Ihre Schienen root dir

+0

Müssen Sie dies jedes Mal tun, wenn Sie anfangen, an dem Projekt zu arbeiten? –

+0

@ DanielRamirez-Escudero Sie kompilieren jedes Mal, wenn Sie Änderungen an den SCSS-Dateien vornehmen – Paul

15

Ich sehe dieses Problem mit Rails 4.0.2 und compass-rails 1.1.3

Ich habe diesen Fehler durch Verschieben gem 'compass-rails' außerhalb der :assets Gruppe in meiner Gemfile

Es sieht ungefähr so ​​aus:

# stuff 
gem 'compass-rails', '~> 1.1.3' 
group :assets do 
    # more stuff 
end 
+1

Ich habe das gleiche erlebt. Es stellte sich heraus, dass die Assets-Gruppe seit Rails 4 veraltet ist. – KaptajnKold

+0

Ich hatte es so, aber musste den Server neu starten ^^) – MMachinegun

2

ich deinstalliert wurde Kompass 1.0.1 und installieren Kompass 0,12.7, dieses Update Problem für mich

$ sudo gem uninstall compass 
$ sudo gem install compass -v 0.12.7 
2

Wenn Sie wie ich und kam hier nach einem Weg suchen sass --watch Arbeit mit Kompass zu machen, ist die Antwort Compass' -Version der Uhr zu bedienen, einfach:

compass watch 

Wenn Sie auf einem Mac sind und noch nicht das Juwel installiert hat, könnten Sie in Fehler ausgeführt werden, wenn Sie versuchen, das Compass Juwel zu installieren, aufgrund Berechtigungsprobleme, die später auf OSX-Versionen entstehen als 10.11 . Installiere Rubin mit Homebrew, um dies zu umgehen. Siehe this answer for how to do that.

Alternativ könnten Sie einfach CodeKit verwenden, aber wenn Sie stur wie ich sind und wollen Sublime Text und Befehlszeile verwenden, ist dies der Weg zu gehen.

Verwandte Themen