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)>'*
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:
- Les exiger du
config.rb
; - importez-les à partir de votre fichier SASS.
Plus d'infos ici: http://compass-style.org/help/
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
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.
En bref, si vous avez installé la gemme, exécutez:
compass compile
Dans votre répertoire racine rails
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