Sass手表权限被拒绝 - 没有指南针

时间:2016-05-05 16:36:00

标签: css linux sass

我正在尝试在新的代码分支上运行sass watch命令。当我运行正常命令时,我得到一个权限被拒绝错误。

Errno::EACCES: Permission denied - /me/atg/workspace/AA/dev_3.4.0

这是我的命令:

sass --watch stores.scss:/me/atg/workspace/AA/dev_3.4.0/a_a/modules/estore/j2ee/AA.war/static/css/stores.css   --style compressed

我使用sudo运行命令,它似乎确实运行了。手表会在scss文件中进行更改,但刷新后不会像以前使用watch命令那样进行更改。我必须重建并启动服务器以实际显示在我的本地站点上的更改。

我认为这可能是缓存问题,但不确定。我没有使用罗盘,我读过的大多数解决方案似乎都与罗盘有关。

以下是在不使用sudo的情况下运行watch命令时的跟踪。

from /usr/lib/ruby/1.9.1/fileutils.rb:247:in `fu_mkdir'
from /usr/lib/ruby/1.9.1/fileutils.rb:221:in `block (2 levels) in mkdir_p'
from /usr/lib/ruby/1.9.1/fileutils.rb:219:in `reverse_each'
from /usr/lib/ruby/1.9.1/fileutils.rb:219:in `block in mkdir_p'
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in `each'
from /usr/lib/ruby/1.9.1/fileutils.rb:205:in `mkdir_p'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:478:in `update_stylesheet'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:215:in `block in update_stylesheets'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:209:in `each'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:209:in `update_stylesheets'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin/compiler.rb:293:in `watch'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/plugin.rb:108:in `method_missing'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/sass_scss.rb:384:in `watch_or_update'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/sass_scss.rb:51:in `process_result'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/base.rb:52:in `parse'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/lib/sass/exec/base.rb:19:in `parse!'
from /var/lib/gems/1.9.1/gems/sass-3.4.16/bin/sass:13:in `<top (required)>'
from /usr/local/bin/sass:23:in `load'
from /usr/local/bin/sass:23:in `<main>'

1 个答案:

答案 0 :(得分:1)

对于读取速度,Sass缓存已解析的文档以供重用,仅在更改时再次解析文档。默认情况下,Sass将这些缓存的文件写入:cache_location。当你开始出现突然的Sass编译问题时,常见的罪魁祸首是.sass-cache。也许您升级了IDE,进行了一些目录结构更改,或者有时更新了OS(OSX因权限问题而臭名昭着)。无论情况如何,如果Sass无法访问.sass-cache或某些内容已经不同步,那么事情就会变得非常繁琐。

从您的描述中假设您只是从命令行运行sass watch而不使用某些IDE编译工具,开始寻找.sass-cache的好地方是{{1} }或./tmp/sass-cache您项目的详细信息here。请记住,默认情况下,该文件通常是隐藏的。您可以尝试手动删除该文件夹,然后再次运行./.sass-cache命令。如果一切顺利,下次您运行sass watch.sass-cache应该完全重建,您应该再次启动并运行。

如果您最近升级了操作系统并且您正在运行OSX,那么似乎确实有一个issue with Sass post-upgrade听起来就像您所描述的那样。在评论中建议的解决方案似乎解决了每个人的问题,就是运行sass watch

希望这有帮助!