ग्रंट फेंक "पुनरावर्ती प्रक्रिया ।nextTick का पता चला"


88

मैं सिंह 10.9.2 को नोड्ज v0.10.26 के साथ चला रहा हूं

मैं sass फ़ाइलों पर एक स्वचालित संकलन और ग्रंट के साथ एक लाइव पुनः लोड करना चाहता हूं, जटिल लेकिन कुछ भी नहीं ...

दौड़ते समय 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"
  }
}

जवाबों:


298

मुझे आखिरकार SASS के साथ होने वाली एक समान समस्या का पता चला। मैं उपयोग कर रहा था

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

चाल यह थी कि ग्रंट को नामों में पुनरावृत्ति पसंद नहीं है। जब मैं स्विच करने के लिए

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

सब कुछ वैसा ही काम करना चाहिए जैसा होना चाहिए।


58
+9000 - यह एक बेवकूफ बग है और आपके फिक्स ने मुझे पता लगाने की कोशिश में समय बचाया। धन्यवाद!
jkat98

2
कमाल है, यह जगह के लिए धन्यवाद। मुझे एहसास हुआ कि हमें किसी भी कार्य को पंजीकृत करने की आवश्यकता नहीं है, क्योंकि जब आप कमांड लाइन में टाइप करते हैं तो ग्रंट 'ग्रंट सैस' चलाएगा।
स्टीफन

इसे स्थान देने के लिए धन्यवाद, इसमें भी भाग गया और त्रुटि बहुत उपयोगी नहीं है।
केविन होल्डिच

1
इसका उत्तर देने के लिए धन्यवाद ... मैं पिछले आधे घंटे से डेस्क पर अपना सिर काट रहा हूं और एक आधा पता लगा grunt-bower-concatरहा हूं कि प्लगइन मुझे वह आउटपुट क्यों दे रहा था।
डेरेक

इसके लिए धन्यवाद। यह मुझे पागल कर रहा था!
माइकल जियोवानी पुमो

16

बस यह समस्या थी। इसे हटाकर हल कियाgrunt.registerTask('watch', [ 'watch']);


मेरा यह सटीक नाम / मुद्दा था। शीश ...
स्टीव मीस्नर

1
इसने मेरे लिए इसे हल किया, स्वीकृत उत्तर नहीं। भगवान का शुक्र है स्टैकओवरफ्लो और आपका जवाब, मुझे यह एक लाख वर्षों में नहीं मिलेगा: D
Marko Grešak

10

मैंने बस एक समान त्रुटि "Recursive process.nextTick का पता लगाया" कमांड के कारण उत्पन्न किया है: ग्रंट सर्वर

समाधान? इसके बजाय सुडो ग्रंट सर्व का उपयोग करें


इसका समाधान कभी नहीं होना चाहिए। sudoइसका उपयोग तब तक नहीं किया जाना चाहिए जब तक कि कुछ ऐसा न हो जो वास्तव में आपके सिस्टम को बदल रहा हो। ऐसा लगता है कि आपने किया sudo npm installजो अक्सर बुरा होता है
एडी मेन्ज जूनियर


0

वैकल्पिक समाधान: एक खाली फ़ाइल तर्क के लिए अपनी घड़ी की जाँच करें

यहाँ मेरा एक अंश है gruntfile

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

मेरे मामले में, मैं उपरोक्त खाली तर्क के साथ मांग पर मूल पोस्टर की त्रुटि को फिर से बना सकता हूं।


0

मुझे ग्रंट स्थापित करने की कोशिश में भी त्रुटि हो रही थी। चल रहे एनपीएम डुप्लिकेट ने मेरी समस्या का समाधान किया जैसा कि यहां दिया गया है: ग्रन्ट वॉच एरर - वेटिंग ... घातक त्रुटि: एनओएसपीसी देखें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.