grunt throw “Recursief process.nextTick gedetecteerd”

Ik gebruik Lion 10.9.2 met nodejs v0.10.26

Ik wil een geautomatiseerde compilatie opzetten op sass-bestanden en een live herladen met grunt, niets ingewikkelds, maar…

Bij het uitvoeren van grunt watchkrijg ik de volgende foutmelding

(node) warning: Recursive process.nextTick detected. This will break in the next version of node. Please use setImmediate for recursive deferral.
util.js:35
  var str = String(f).replace(formatRegExp, function(x) {
                      ^
RangeError: Maximum call stack size exceeded

hier is de Gruntfile.js

module.exports = function(grunt) {
    // Project configuration.
    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),
        sass: {
            dist: {
                files: {
                    'assets/css/styles.css': 'assets/sass/styles.scss'
                }
            }
        },
        watch: {
            all: {
                files: 'index.html', // Change this if you are not watching index.html
                options: {
                    livereload: true  // Set livereload to trigger a reload upon change
                }
            },
            css: {
                files:  [ 'assets/sass/**/*.scss' ],
                tasks:  [ 'sass' ],
                options: {
                    spawn: false
                }
            },
            options: {
                livereload: true // Set livereload to trigger a reload upon change
            }
        }
    });
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.loadNpmTasks('grunt-contrib-sass');
    grunt.registerTask('watch', [ 'watch']);
    grunt.registerTask('default', [ 'sass', 'watch' ]);
};

en hier is de package.json

{
  "name": "application",
  "version": "0.0.1",
  "private": true,
  "devDependencies": {
    "grunt": "~0.4.2",
    "grunt-contrib-watch": "~0.5.3",
    "grunt-contrib-sass": "~0.7.3"
  }
}

Antwoord 1, autoriteit 100%

Ik heb eindelijk een soortgelijk probleem ontdekt dat ik had met SASS. Ik gebruikte

grunt.registerTask('sass', [ 'sass']);

De truc was dat Grunt de herhaling in namen niet leuk lijkt te vinden. Als ik overschakel naar

grunt.registerTask('styles', [ 'sass']);

Alles werkte zoals het hoort.


Antwoord 2, autoriteit 6%

Ik had net dit probleem. Opgelost door het verwijderen van grunt.registerTask('watch', [ 'watch']);


Antwoord 3, autoriteit 4%

Ik heb zojuist een vergelijkbare fout “Recursive process.nextTick gedetecteerd” opgelost, veroorzaakt door het commando: grunt server

De oplossing? Gebruik in plaats daarvan sudo grunt serve


Antwoord 4

je zou deze kunnen proberen, het loste het probleem voor mij op, werkend met Yeoman 1.3.3 en Ubuntu 14.04 Grunt-watch-fout – Wachten… Fatale fout: bekijk ENOSPC


Antwoord 5

Ik kreeg zelfs een foutmelding bij het installeren van grunt. Het uitvoeren van npm dedupe loste mijn probleem op zoals hier beantwoord: Grunt horloge error – Wachten…Fatale fout: bekijk ENOSPC


Antwoord 6

Alternatieve oplossing: controleer uw horloge op een leeg bestandsargument.

Hier is een uittreksel van mijn gruntfile

watch: {
  all: {
    options:{
      livereload: true
    },
    files: ['src/scss/*.scss', 'src/foo.html',, 'src/bar.html'],
    tasks: ['default']
  }
}

In mijn geval zou ik de fout van de originele poster op verzoek opnieuw kunnen maken met het lege argument hierboven.

Other episodes