Sass:errno :: enoent:没有这样的文件或目录

时间:2015-04-07 19:28:25

标签: ruby sass

我知道这是一个非常平淡的错误,但是我遇到了一个未找到的常规"文件" 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>'
*/

我之前遇到过这种情况,但我在诊断/解决问题方面没有运气。它也显示为链接到的页面中的一个奇怪的元素。

有人可以帮我理解追溯吗?我确定它非常简单,但我对Ruby知之甚少。我尝试删除/重新安装Sass。

4 个答案:

答案 0 :(得分:3)

我在项目中遇到了类似的错误,删除了项目根目录下的sass-cache目录,然后再次运行sass / grunt解决了我的问题......

rm .sass-cache/ -R

跳这个帮助

答案 1 :(得分:2)

无论是Ruby还是Rails,你的回溯意味着错误从gem的代码本身上升。如果您要打开这些文件并按照回溯,您可以看到sass gem的工作原理。

编辑:如果您手动取消/安装了某个gem,最好运行bundle install,以便正确匹配Gemfile.lock中的规范。如果这样的文件听起来很新,我强烈建议您阅读http://bundler.io/,这是一个宝石管理器,可让您控制应用程序所需的宝石/版本!

注意:如果您正在使用Rails,下面的其余答案可能有所帮助。 (根据我几个月前的个人经历。)

此错误表示您的目录中没有文件dumdum.scss,很可能是app/assets/stylesheets/。我建议您快速grep搜索您使用dumdum的位置。例如,在我正在处理的应用程序中,我有一个文件_colors.scss,它被引用并覆盖样式表(用于引导程序)为@import "colors";

答案 2 :(得分:0)

我有一个类似的问题,但无法用上述解决方案解决它,但我不得不采用黑客和希望的方法。

在我的黑客和希望之前我尝试过的事情:

  1. 我删除了所有可能包含我的sass文件的.sass-cache文件夹
  2. 我卸载并重新安装了sass gem。
  3. 我升级了Ruby和Sass。出于某种原因,我无法干净地卸载ruby命令提示符。所以我还在使用 ruby​​ 2.3.3p222和Sass版本3.4.23
  4. 所以我的解决方案是使用 sassmeister 来转换scss,这解决了我的问题。要压缩css文件,我使用 CSS Compressor 。如果您没有干净的ruby / sass安装设置,这种方法很有效。

    1. 接下来获取压缩的css文件并使用新的CSS文件保存 文件名。
    2. 接下来,转到您的html / php文件,并将CSS文件名更改为步骤1中的新CSS文件名。
    3. 这应该可以解决问题。它对我有用。

答案 3 :(得分:0)

我解决了此错误:

“ Sass:errno :: enoent:没有这样的文件或目录”  通过移动项目目录  无礼

**放入 Ruby 文件夹:

PS C:\Ruby26-x64\Sass> sass --watch scss:css
>>> Sass is watching for changes. Press Ctrl-C to stop.
>>> Change detected to: scss/style.scss
      write css/style.css
      write css/style.css.map