title: "Fatal error: spawn EACCES" Running "sass:dist" task
body: <p>I'm creating a small Flask app and am using Gruntjs for watch, concat, and sass tasks. When I run the "Grunt" command, it throws an error: "Fatal error: spawn EACCES" and stops watching.</p>
  
  <p>I've tried adding a single livereload option to the watch task as suggested in a previous question: <a href="https://stackoverflow.com/questions/22671751/grunt-watch-fatal-error-listen-eacces-and-livereload">Grunt Watch Fatal error: listen EACCES and livereload</a>, but that did not resolve the problem.</p>
  
  <p>What might be causing this error?</p>
  
  <p>Grunt log:</p>
  
  <pre><code>Running "flaskServer" task
  Starting the Flask server on port 5000
  
  Running "concat:dist" (concat) task
  File "./static/js/app.js" created.
  
  Running "sass:dist" (sass) task
  Fatal error: spawn EACCES
  </code></pre>
  
  <p>Gruntfile.js:</p>
  
  <pre><code>module.exports = function(grunt) {
    require('load-grunt-tasks')(grunt);
    grunt.initConfig({
      concat: {
        options: {
          separator: "\n",
        },
        dist: {
          src: ['assets/**/*.js'],
          dest: './static/js/app.js'
        },
      },
      sass: {
        dist: {
          options: {
            style: 'expanded'
          },
          files: [{
            expand: true,
            cwd: 'assets',
            src: ['*.scss','!_*.scss'],
            dest: './static/css',
            ext: '.css'
          }]
        }
      },
      watch: {
        javascripts: {
          options: {
            livereload: true
          },
          files: ['assets/js/*.js'],
          tasks: ['concat']
        },
        styles: {
          options: {
            livereload: true
          },
          files: ['assets/**.scss'],
          tasks: ['sass']
        },
        templates: {
          options: {
            livereload: true
          },
          files: ['templates/**/*.html'],
          tasks: [] // empty for livereload
        }
      }
    });
  
    grunt.registerTask('flaskServer', 'runs the flask server', function() {
      grunt.log.writeln('Starting the Flask server on port 5000');
      var spawn = require('child_process').spawn;
      var server = spawn('./run.sh');
      server.stdout.on('data', function(data) {
        grunt.log.writeln('FLASK LOG: ' + data);
      });
      process.on('exit', function() {
        server.kill();
      });
    });
  
    grunt.registerTask('dev', [
      'concat',
      'sass',
      'watch'
    ]);
  
    grunt.registerTask('server', [
      'flaskServer'
    ]);
  
    grunt.registerTask('default', [
      'server',
      'dev'
    ]);
  };
  </code></pre>
  
  <p>File structure:</p>
  
  <pre><code>/assets
    /js
      app.js
    _normalize.scss
    app.scss
  /node_modules
    /grunt
    /grunt-contrib-concat
    /grunt-contrib-copy
    /grunt-contrib-sass
    /grunt-congrib-watch
    /load-grunt-tasks
  /static
    /css
      app.css
    /js
      app.js
  /templates
    /layouts
      base.html
    /pages
    404.html
    index.html
  app.py
  Gruntfile.js
  package.json
  run.sh
  </code></pre>