Почему "компас-часы" говорят, что он не может загрузить sass/script/node (LoadError)?

У меня возникла проблема с моей командой наблюдения за компасом - она ​​работала нормально до нескольких дней назад. Я не внес никаких изменений в мои файлы конфигурации.

Я переустановил Compass, использовал rvm для обновления Ruby. Я проверил файл custom_require.rb, но я действительно не знаю, что искать. Кажется, что пытается загрузить файл "sass/ script/node" где-то, и из http://sass-lang.com/docs/yardoc/Sass/Script/Node.html я собираю путь к файлу, но у меня там ничего нет.

/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>'

У кого-нибудь есть идеи?

Ответ 1

Удалите sass и переустановите его со следующим:

gem uninstall sass
gem install sass

Была проблема с моей установкой sass, и это устранило проблему.

Ответ 2

В моем случае версия Sass не была совместима с Compass.

ИСПРАВЛЕНИЕ:

  • удалить Sass AND Compass

    gem uninstall compass
    gem uninstall sass
    
  • установить Compass , который автоматически установит совместимый механизм Sass

    gem install compass
    

Ответ 3

Эта комбинация, наконец, работает для меня, чтобы объединить Compass и SASS Sourcemaps:

Gemfile

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

Компас config.rb

sass_options = {:sourcemap => true}

Ответ 4

Эта конкретная версия хорошо работает на обоих:

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

Они могут быть несовместимы друг с другом в том, почему вы получаете эти ошибки (учитывая, что вы используете версию с кратковременным выпуском).

Ответ 5

Если вы используете Ubuntu, это может быть проблемой при столкновении apt-get и rvm.

Попробуйте удалить rvm с помощью rvm implode а затем запустите

sudo apt-get install ruby-compass 

compass watch работал на меня после этого.

Ответ 6

Разница в приведенных выше ответах: для меня (используя Bootstrap для Sass) оказалось, что

gem install bootstrap-sass

что было необходимо для устранения этой проблемы. Для меня проблема LoadError с Compass началась после того, как я обновил версию Ruby, которую я использовал.

Ответ 7

Я считаю, что это связано с конфликтами версий с sass.

https://rubygems.org/gems/compass gem в настоящее время находится в v0.12.16 в настоящее время - добавьте это в Gemfile

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

Вам может потребоваться сначала удалить все версии обоих драгоценных камней.

Ответ 8

Я смог исправить это, сделав это

gem uninstall sass
gem install sass -v 3.2.12

Это определенно из-за проблемы с зависимостью от версии, вам лучше решить вашу задачу, чтобы она была совместима с новыми версиями saas, compass и т.д.

Ответ 9

Для меня работали следующие комбинации:

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

Ответ 10

Мне нужно было установить gemfile с правильными версиями (эта ошибка вызвана несоответствующими версиями SASS и Compass для меня). Я использовал следующий код bundle install для устранения проблемы:

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"

Ответ 11

У меня была та же проблема, и я понял, что у меня две версии компаса, поэтому:

compass watch или compass compile

Компилятор не знал, какую версию компаса следует использовать для компиляции. Итак, что вы можете сделать, это явно указать версию компаса для работы с:

compass _1.0.3_ watch

Еще один интересный поток.