Sass: errno::enoent: 没有那个文件或目录

Sass: errno::enoent: No such file or directory

我知道这是一个非常乏味的错误 运行,但我在 Sass 3.4.2 中遇到了一个常规 "file not found" 错误:

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

我以前 运行 玩过这个,但是 diagnosing/solving 我运气不好。它还在其链接的页面中显示为一个奇怪的元素。

有人可以帮助我理解追溯吗?我敢肯定这是非常简单的事情,但我知道的很少Ruby。我试过了 removing/reinstalling Sass.

无论是 Ruby 还是 Rails(也是),您的回溯都意味着 gem 的代码本身出现了错误。如果您打开这些文件并跟踪回溯,您可以看到 sass gem 是如何工作的。

EDIT:如果你手动un/installed一个gem,最好运行bundle install这样你就正确了匹配您 Gemfile.lock 中的规格。如果这样的文件对您来说听起来很陌生,我强烈建议您阅读 http://bundler.io/,这是一个 gem 管理器,可让您控制您的应用程序需要哪些 gems/versions!

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

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

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

rm .sass-cache/ -R

希望这有帮助

我遇到了类似的问题,但无法通过上述解决方案解决,但我不得不采用 hack and hope 方法。

我在 hack and hope 方法之前尝试过的事情:

  1. 我删除了所有可能包含我的 sass 文件的 .sass-缓存文件夹
  2. 我卸载并重新安装了 sass gem。
  3. 我升级了 Ruby 和 Sass。出于某种原因,我无法干净地卸载 ruby 命令提示符。所以我还在使用 ruby 2.3.3p222 和 Sass 版本 3.4.23

所以我的解决方案是使用sassmeister to convert the scss and that solved my problem. To compress the css file I used CSS Compressor。如果您没有 ruby/sass 安装的干净设置,则此方法很有效。

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

我解决了这个错误:

"Sass: errno::enoent: No such file or directory" 通过移动项目目录 Sass

** 进入 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