web-dev-qa-db-fra.com

Pourquoi "compas watch" dit-il qu'il ne peut pas charger sass / script / node (LoadError)?

J'ai un problème avec ma commande de boussole: elle fonctionnait bien jusqu'à il y a quelques jours. Je n'ai apporté aucune modification à mes fichiers de configuration.

J'ai réinstallé Compass, utilisé rvm pour mettre à jour Ruby. J'ai vérifié mon fichier custom_require.rb mais je ne sais vraiment pas quoi chercher. Il semble essayer de charger le fichier "sass/script/node" quelque part et de http://sass-lang.com/docs/yardoc/Sass/Script/Node.html Je rassemble le chemin du fichier - mais je n’ai rien.

/Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:60:in `require': cannot load such file -- sass/script/node (LoadError)
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:60:in `rescue in require'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:35:in `require'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches/browser_support.rb:1:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:2:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `each'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions/monkey_patches.rb:1:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass/sass_extensions.rb:9:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:5:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:4:in `each'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/lib/compass.rb:4:in `<top (required)>'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/rubies/Ruby-1.9.3-p194/lib/Ruby/site_Ruby/1.9.1/rubygems/custom_require.rb:55:in `require'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:20:in `block in <top (required)>'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:8:in `fallback_load_path'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/gems/compass-0.12.2/bin/compass:19:in `<top (required)>'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/bin/compass:19:in `load'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/bin/compass:19:in `<main>'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/bin/Ruby_noexec_wrapper:14:in `eval'
  from /Users/sampurcell/.rvm/gems/Ruby-1.9.3-p194/bin/Ruby_noexec_wrapper:14:in `<main>'

Quelqu'un a des idées?

70
Sam Purcell

Désinstallez sass et réinstallez-le avec les éléments suivants:

gem uninstall sass
gem install sass

Il y avait un problème avec mon installation de sass et cela résout le problème.

112
Mike Grace

Dans mon cas, la version Sass n'était pas compatible avec Compass.

RÉPARER :

  1. désinstaller Sass AND Compass

    gem uninstall compass
    gem uninstall sass
    
  2. installer Compass qui installera automatiquement un moteur Sass compatible

    gem install compass
    
24
Nicolas Janel

Cette combinaison me permet enfin de réunir Compass et SASS Sourcemaps:

Gemfile

gem 'sass', '3.3.0.alpha.149'
gem 'compass', '0.12.2'
gem 'compass-sourcemaps', "~> 0.12.2.sourcemaps.57a186c"

Compass config.rb

sass_options = {:sourcemap => true}
13
Volker Rose

Cette version spécifique fonctionne bien sur les deux:

gem 'sass', '3.3.0.alpha.149'
gem 'compass', '0.12.2'

Elles risquent de ne pas être compatibles les unes avec les autres, c’est pourquoi vous obtenez ces erreurs (étant donné que vous utilisez une version de Edge saignante).

10
Jürgen Paul

Si vous utilisez Ubuntu, il peut y avoir un problème de collision entre apt-get et rvm.

Essayez de supprimer rvm avec rvm implode puis courir

Sudo apt-get install Ruby-compass 

compass watch a travaillé pour moi par la suite.

4
raam86

Une variante des réponses ci-dessus: pour moi (avec Bootstrap pour Sass), cela s’est avéré être

gem install bootstrap-sass

cela était nécessaire pour résoudre ce problème. Pour moi, le problème LoadError avec Compass a commencé après que j'ai mis à jour la version de Ruby que j'utilisais.

3
Nick F

Je crois que cela est dû aux conflits de versions avec sass.

https://rubygems.org/gems/compass gem est actuellement à l'adresse v0.12.16 actuellement - ajoutez ceci à Gemfile

gem 'sass', '3.2.19'
gem 'compass', '0.12.6'

Vous devrez peut-être d'abord désinstaller toutes les versions des deux gems.

3
lfender6445

J'ai pu le réparer en faisant cela

gem uninstall sass
gem install sass -v 3.2.12

Ceci est certainement dû à un problème de dépendance de version, il est préférable de résoudre votre tâche difficile afin de la rendre compatible avec les versions plus récentes de saas, compass, etc.

2
ice.nicer

J'ai eu le même problème et ensuite j'ai réalisé que j'avais deux versions de boussole, donc en faisant:

compass watch ou compass compile

Le compilateur ne savait pas quelle version de boussole il devait utiliser pour compiler. Vous pouvez donc indiquer explicitement la version de la boussole avec laquelle travailler:

compass _1.0.3_ watch

Il y a un autre intéressant fil .

1
Sérgio

Les combinaisons suivantes ont fonctionné pour moi:

gem install compass --pre
gem install sass -v 3.3.3
0
ATSiem

Je devais configurer un gemfile avec les versions correctes (cette erreur est causée par des versions incompatibles de SASS et Compass, pour moi). J'ai utilisé lew suivant avec bundle install pour résoudre le problème:

source "https://rubygems.org"

gem 'bootstrap-sass', "~> 3.2.0"
gem 'sass', [ "< 3.5" , ">= 3.3.13" ]
gem 'compass', "~> 1.0.1"
gem 'compass-core', "~> 1.0.1"
gem 'compass-import-once', "~> 1.0.5"
gem 'chunky_png', "~> 1.2"
gem 'rb-fsevent', ">= 0.9.3"
gem 'rb-inotify', ">= 0.9"
0
Nick