Sass: errno:: enoent: нет такого файла или каталога

Я знаю, что это ужасно мягкая ошибка, но я сталкиваюсь с обычной ошибкой "файл не найден" в Sass 3.4.2:

/*
Errno::ENOENT: No such file or directory - dumdum.scss

Backtrace:
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:482:in `read'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:482:in `update_stylesheet'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:209:in `each'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:209:in `update_stylesheets'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin/compiler.rb:293:in `watch'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/plugin.rb:108:in `method_missing'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/exec/sass_scss.rb:381:in `watch_or_update'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/exec/sass_scss.rb:51:in `process_result'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/exec/base.rb:52:in `parse'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/lib/sass/exec/base.rb:19:in `parse!'
/Library/Ruby/Gems/2.0.0/gems/sass-3.4.12/bin/sass:13:in `<top (required)>'
/usr/bin/sass:23:in `load'
/usr/bin/sass:23:in `<main>'
*/

Я сталкивался с этим раньше, но мне не повезло в диагностике/решении. Он также отображается как странный элемент на странице, с которой он связан.

может кто-нибудь помочь мне понять трассировку? Я уверен, что это что-то невероятно простое, но я очень мало знаю Руби. Я попытался удалить / переустановить Sass.

3 ответов


я столкнулся с аналогичной ошибкой в моем проекте, удалив каталог Sass-cache в корне моего проекта, а затем запустите Sass/grunt снова решил проблему для меня...

rm .sass-cache/ -R

Hop это помогает


будь то Ruby или Rails (тоже), ваш backtrace означает, что ошибка возникает из самого кода драгоценного камня. Если бы вы открыли эти файлы и проследили за обратным ходом, вы могли бы увидеть, как работает драгоценный камень sass.

редактировать: если вы вручную un/installed a gem, лучше всего запустить bundle install таким образом, вы правильно соответствуете спецификациям в вашем Gemfile.lock. Если такой файл кажется вам новым, я настоятельно рекомендую прочитать http://bundler.io/, менеджер самоцвета позволяя вам контролируйте, какие драгоценные камни / версии необходимы для вашего приложения!

Примечание: если вы работаете с рельсами, остальная часть моего ответа ниже может помочь. (Исходя из личного опыта, который у меня был пару месяцев назад.)

эта ошибка означает, что у вас нет файла dumdum.scss в каталоге, скорее всего,app/assets/stylesheets/. Я предлагаю сделать быстрый grep поиск, где вы используете dumdum. Например, в приложении, над которым я работаю, у меня есть файл _colors.scss, и на него ссылаются в и переопределяет таблицу стилей (для bootstrap) как @import "colors";.


У меня была аналогичная проблема, но я не мог решить ее с вышеупомянутыми решениями, но мне пришлось использовать подход hack and hope.

вещи, которые я пробовал перед моим Хак и надеюсь подход:

  1. Я удалил все .Sass-папки кэша, которые могут содержать мой файл sass
  2. Я удалил и переустановил драгоценный камень sass.
  3. я обновил Ruby и Sass. По какой-то причине я не могу удалить командную строку ruby чисто. Поэтому я все еще использую ruby 2.3.3p222 и Sass версии 3.4.23

мой решение использовать sassmeister для преобразования scss и это решило мою проблему. Для сжатия css-файла я использовал CSS компрессор. Этот метод эффективен, если у вас нет чистой установки установки ruby/sass.

  1. Далее возьмите сжатый файл css и сохраните новый файл CSS с новым имя файла.
  2. затем перейдите к своим html / php-файлам и измените имя файла CSS на новое имя CSS с шага 1 в вашем.
  3. это должно сделать трюк. У меня получилось.