咕噜扔“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