web-dev-qa-db-fra.com

Fichier à importer introuvable ou illisible: boussole

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)>'*
46
Keo Strife

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:

  1. demandez-leur du config.rb;
  2. 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.

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
16
ncherro

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.

3
Luke

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
3
Artem Medvedev

En bref, si vous avez installé le joyau de la course:

compass compile

dans votre Rails répertoire racine

2
Adam Waite