Windows上的Grunt Sass - 权限被拒绝

时间:2014-07-01 18:19:20

标签: ruby windows sass gruntjs

我正在尝试用Grunt运行Sass任务。

我的配置是:

grunt.initConfig({
  sass: {
    dist: {
      files: [{
        src: [
          'app/assets/css/sass/*.scss'
        ],
        dest: 'app/assets/css',
        ext: '.css'
      }]
    }
  }
});

我得到了一个" EISDIR:是一个目录 - app / assets / css"错误。

我查了很多答案,并且一直试图解决这个问题2个小时。目录存在,我尝试使用完整路径(C:/ ...),然后使用反斜杠。同样的错误。

没有咕噜声运行sass工作正常。

2 个答案:

答案 0 :(得分:4)

我认为你缺少dest的尾部斜杠来表示目录而不是文件。

另外(在第一次编辑时遗漏),添加expand以启用动态文件对象。

:此

grunt.initConfig({
  sass: {
    dist: {
      files: [{
        expand: true,
        src: [
          'app/assets/css/sass/*.scss'
        ],
        dest: 'app/assets/css/',
        ext: '.css'
      }]
    }
  }
});

而不是

grunt.initConfig({
  sass: {
    dist: {
      files: [{
        src: [
          'app/assets/css/sass/*.scss'
        ],
        dest: 'app/assets/css',
        ext: '.css'
      }]
    }
  }
});

编辑:将expand:true添加到原始答案,并在dest上保留尾部斜杠。

答案 1 :(得分:1)

就我而言,虽然我已经实施了批准的解决方案(Matthew)中提出的建议,但我仍面临同样的问题。

事实上,一些以前的Ruby实例仍然在后台运行。我在任务管理器中杀死了他们(我在Windows 7上)并且问题消失了。