咕噜扔“recursionprocess.nextTick检测”

我使用nodejs v0.10.26运行Lion 10.9.2

我想在sass文件上设置一个自动编译,并用grunt实时重新加载,没有什么复杂的,但是…

运行grunt watch ,出现以下错误

 (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 

这里是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' ]); }; 

这里是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" } } 

我终于想出了一个和SASS一样的问题。 我正在使用

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

诀窍是,Grunt似乎不喜欢重复的名字。 当我切换到

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

一切工作,因为它应该。

刚刚有这个问题。 通过删除grunt.registerTask('watch', [ 'watch']);解决它grunt.registerTask('watch', [ 'watch']);

我只是修复了一个类似的错误“recursionprocess.nextTick检测”造成的命令:grunt服务器

解决scheme? 使用sudo grunt服务

你可以尝试这一个,它解决了我的问题,与Yeoman 1.3.3和Ubuntu 14.04 Grunt手表错误工作 – 等待…致命错误:观看ENOSPC

替代解决scheme: 检查您的手表是否有空文件参数

这是我的gruntfile的摘录

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

就我而言,我可以用上面的空白参数按需重新创build原始海报的错误。

即使试图安装grunt,我也遇到了错误。 运行npm的重复数据删除解决了我的问题,因为在这里回答: Grunt手表错误 – 等待…致命错误:观看ENOSPC