J'ai installé Sass avec succès, mais je ne parviens pas à 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)>'*
Compass ajuste la manière dont les partiels sont importés. Il permet d'importer des composants uniquement à partir de leur nom, sans spécifier le chemin.
Avant de pouvoir faire @import 'compass';
, vous devriez:
Installez Compass en tant que Ruby gem:
gem install compass
Après cela, vous devriez utiliser le propre outil en ligne de commande de Compass pour compiler votre code SASS:
cd path/to/your/project/
compass compile
Notez que Compass nécessite un fichier de configuration appelé config.rb
. Vous devriez le créer pour que Compass fonctionne.
Le minimum 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 manuellement un fichier de configuration, vous pouvez créer un projet Compass vide avec compass create <project-name>
puis copiez votre code SASS à l'intérieur.
Notez que si vous souhaitez utiliser les extensions Compass, vous devrez:
config.rb
;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.
J'ai dépassé cette erreur en déplaçant gem 'compass-Rails'
en dehors de la :assets
groupe dans mon Gemfile
Cela ressemble à quelque chose comme ça:
# stuff
gem 'compass-Rails', '~> 1.1.3'
group :assets do
# more stuff
end
Si vous êtes comme moi et que vous êtes venu ici pour trouver un moyen de faire fonctionner sass -watch avec compas, la solution consiste à utiliser la version de Compass, tout simplement:
compass watch
Si vous êtes sur un Mac et que la gem n’est pas encore installée, vous risquez de rencontrer des erreurs lorsque vous tentez d’installer la gem Compass, en raison de problèmes d’autorisation survenant sur les versions OSX ultérieures à la version 10.11. Installez Ruby avec Homebrew pour contourner cela. Voir cette réponse pour savoir comment faire cela.
Sinon, vous pouvez simplement utiliser CodeKit, mais si vous êtes têtu comme moi et que vous souhaitez utiliser Sublime Text et la ligne de commande, c'est la voie à suivre.
J'ai été désinstallé Compass 1.0.1 et installer Compas 0.12.7, ce problème de réparation pour moi
$ Sudo gem uninstall compass
$ Sudo gem install compass -v 0.12.7
En bref, si vous avez installé le joyau de la course:
compass compile
dans votre Rails répertoire racine