IT

grunt throw "Recursive process.nextTick detected"

lottoking 2020. 9. 8. 08:15
반응형

grunt throw "Recursive process.nextTick detected"


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


방금 명령에 의해 발생하는 오류 "재귀 적 process.nextTick 감지 됨"을 수정했습니다 : grunt server

해결책? 대신 sudo grunt serve 사용


당신은 이것을 시도 할 수 있습니다 .Yeoman 1.3.3 및 Ubuntu 14.04 Grunt 시계 오류-대기 중 ... 치명적 오류 : ENOSPC보기


대체 솔루션 : 시계에서 빈 파일 인수를 확인하십시오 .

여기에 내 발췌 gruntfile

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

제 경우에는 위의 빈 인수를 사용하여 요청시 원본 포스터의 오류를 재현 할 수 있습니다.


grunt를 설치하려고해도 오류가 발생했습니다. npm 중복 제거를 실행하면 여기에 대답 한대로 내 문제가 해결되었습니다. Grunt watch error-Waiting ... 치명적 오류 : watch ENOSPC

참고 URL : https://stackoverflow.com/questions/22285942/grunt-throw-recursive-process-nexttick-detected

반응형