首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sass (Ruby CSS压缩器) Windows上的绝对路径参数

Sass (Ruby CSS压缩器) Windows上的绝对路径参数
EN

Stack Overflow用户
提问于 2010-08-13 18:43:09
回答 2查看 1.2K关注 0票数 0

我使用sass (来自haml-edge)来处理css文件,它在作为参数的绝对路径上崩溃:

代码语言:javascript
复制
K:\sass>sass.bat k:/sass/css/*.scss k:/sass/css/*.css --trace
d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/sass/files.rb:23:in `read': No such file or directory - k
 (Errno::ENOENT)
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/sass/files.rb:23:in `tree_for'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/sass/plugin.rb:220:in `update_stylesheet'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/sass/plugin.rb:71:in `block in update_stylesheets'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/sass/plugin.rb:71:in `each'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/sass/plugin.rb:71:in `update_stylesheets'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/haml/exec.rb:433:in `watch_or_update'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/haml/exec.rb:349:in `process_result'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/haml/exec.rb:41:in `parse'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/lib/haml/exec.rb:21:in `parse!'
    from d:/Programs/Ruby/lib/ruby/gems/1.9.1/gems/haml-edge-3.1.62/bin/sass:8:in `<top (required)>'
    from d:/Programs/Ruby/bin/sass:19:in `load'
    from d:/Programs/Ruby/bin/sass:19:in `<main>'

我能够通过在(Ruby\lib\ruby\gems\1.9.1\gems\haml-edge-3.1.62\lib\haml\exec.rb):split_colon_path中注释一个条件来使其工作。

代码语言:javascript
复制
def split_colon_path(path)
  one, two = path.split(':', 2)
  if one && two && #### this part was commented #  ::Haml::Util.windows? &&
      one =~ /\A[A-Za-z]\Z/ && two =~ /\A[\/\\]/
    # If we're on Windows and we were passed a drive letter path,
    # don't split on that colon.
    one2, two = two.split(':', 2)
    one = one + ':' + one2
  end
  return one, two
end

有没有更好的平台检测解决方案?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-08-14 07:40:10

这是一个已知的错误。这个问题在Sass的最新稳定版本中得到了修复,除非你使用的是mingw Ruby,在这种情况下,它将在下一个稳定版本(将于本周末发布)中得到修复。

票数 1
EN

Stack Overflow用户

发布于 2010-08-16 13:31:35

haml-edge 3.1.64中解决了问题。

对于记录,mingw被添加到{Ruby folder}\lib\ruby\gems\1.9.1\gems\haml-edge-3.1.64\lib\haml\util.rb中的host_os可能值

代码语言:javascript
复制
# Whether or not this is running on Windows.
#
# @return [Boolean]
def windows?
  RbConfig::CONFIG['host_os'] =~ /mswin|windows|mingw/i
end
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3476078

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档