Fichier à importer introuvable ou illisible: compass

J'ai installé Sass avec succès, mais j'ai du mal à importer Compass.

Ce qui suit est le détail de l'erreur:

*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)>'*
44
demandé sur bookcasey 2013-03-20 02:39:08

5 réponses

Compass ajuste la façon dont les partiels sont importés. Il permet d'importer des composants uniquement en fonction de leur nom, sans spécifier le chemin d'accès.

Avant de pouvoir faire @import 'compass';, vous devriez:

Installez Compass comme une gemme de rubis:

gem install compass

Après cela, vous devez utiliser L'outil de ligne de commande de Compass pour compiler votre code SASS:

cd path/to/your/project/
compass compile

Notez que Compass reqiures un fichier de configuration appelé config.rb. Vous devriez le créer pour que Compass fonctionne.

Minimale config.rb peut être aussi simple que cela:

css_dir =   "css"
sass_dir =  "sass"

Et votre code SASS devrait résider dans sass/.

Au lieu de créer un fichier de configuration manuellement, vous pouvez créer un projet Compass vide avec compass create <project-name>, puis copier votre code SASS à l'intérieur.

Notez que si vous souhaitez utiliser des extensions Compass, vous devrez:

  1. Les exiger du config.rb;
  2. importez-les à partir de votre fichier SASS.

Plus d'infos ici: http://compass-style.org/help/

113
répondu lolmaus - Andrey Mikhaylov 2013-03-26 12:17:48

Je vois ce problème en utilisant Rails 4.0.2 et Compass-rails 1.1.3

J'ai dépassé cette erreur en déplaçant gem 'compass-rails' en dehors du groupe :assets Dans Mon Gemfile

Cela ressemble à ceci:

# stuff
gem 'compass-rails', '~> 1.1.3'
group :assets do
  # more stuff
end
15
répondu ncherro 2014-01-06 23:10:19

Si vous êtes comme moi et que vous êtes venu ici à la recherche d'un moyen de faire fonctionner sass --watch avec compass, la réponse est d'utiliser la version de compass de watch, simplement:

compass watch

Si vous êtes sur un Mac et que vous n'avez pas encore installé la gemme, vous risquez de rencontrer des erreurs lorsque vous essayez d'installer la gemme Compass, en raison de problèmes d'autorisation qui surviennent sur les versions OSX supérieures à 10.11. Installez ruby avec Homebrew pour contourner cela. Voir cette réponse pour savoir comment faire.

Vous pouvez également il suffit d'utiliser CodeKit, mais si vous êtes têtu comme moi et que vous voulez utiliser du texte Sublime et de la ligne de commande, c'est la voie à suivre.

3
répondu Luke 2017-05-23 12:18:14

En bref, si vous avez installé la gemme, exécutez:

compass compile

Dans votre répertoire racine rails

2
répondu Adam Waite 2013-05-14 17:56:39

J'ai été désinstallé compass 1.0.1 et installer compass 0.12.7, ce problème de correction pour moi

$ sudo gem uninstall compass
$ sudo gem install compass -v 0.12.7
2
répondu Artem Medvedev 2014-12-08 22:27:08