web-dev-qa-db-fra.com

coup de grunt "Process.nextTick récursif détecté"

J'utilise Lion 10.9.2 avec nodejs v0.10.26

Je veux installer une compilation automatisée sur des fichiers sass et un rechargement en direct avec grunt, rien de compliqué mais ...

Lorsque vous exécutez grunt watch J'obtiens l'erreur suivante

(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

voici le 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' ]);

};

et voici le 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"
  }
}
88
denisjacquemin

J'ai finalement trouvé un problème similaire avec le SASS. J'utilisais

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

Le truc était que Grunt ne semble pas aimer la répétition des noms. Quand je passe à

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

Tout a fonctionné comme il se doit.

298
Bob Rockefeller

Juste eu ce problème. Résolu en supprimant grunt.registerTask('watch', [ 'watch']);

16
Abraham Parangi

Je viens de corriger une erreur similaire "Processus récursif.nextTick détecté" provoquée par la commande: serveur grunt

La solution? Utilisez Sudo grunt serve à la place

10
krazyweb

vous pourriez essayer celui-ci, il a résolu le problème pour moi, en travaillant avec Yeoman 1.3.3 et Ubuntu 14.04 erreur de surveillance Grunt - En attente ... Erreur fatale: regarder ENOSPC

1
hybrisCole

Solution alternative: vérifiez votre montre pour un argument de fichier vide.

Voici un extrait de mon gruntfile

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

Dans mon cas, je pourrais recréer l'erreur de l'affiche originale à la demande avec l'argument vide ci-dessus.

0
Brian Muenzenmeyer

J'avais une erreur en essayant même d'installer Grunt. L'exécution de npm dedupe a résolu mon problème comme suit: Erreur de surveillance Grunt - En attente ... Erreur fatale: regardez ENOSPC

0
dreamerkumar