windows - क्लाउड फ़ंक्शंस विंडोज पर एक प्रकार का वृक्ष के दौरान त्रुटि को तैनात करता है: "सक्षम ENOENT: ऐसी कोई फ़ाइल या निर्देशिका नहीं"




firebase google-cloud-functions (6)

Ubuntu के लिए, आपको firebase.json से पहले $ नोटिस, firebase.json को बदलने की जरूरत है

{
  "functions": {
    "predeploy": [
      "npm --prefix \"$RESOURCE_DIR\" run lint",
      "npm --prefix \"$RESOURCE_DIR\" run build"
    ]
  }
}

विंडोज 10 के लिए आपको RESOURCE_DIR से पहले और बाद में firebase.json को बदलने की जरूरत है

{
  "functions": {
    "predeploy": [
      "npm --prefix \"%RESOURCE_DIR%\" run lint",
      "npm --prefix \"%RESOURCE_DIR%\" run build"
    ]
  }
}

फायरबेस फ़ंक्शन के बाद गाइड शुरू करना और एक साथ मिलने के लिए एक बार देखने में आसान त्रुटि मिल रही है:

firebase deploy --only functions

i  deploying functions
Running command: npm --prefix $RESOURCE_DIR run lint
npm ERR! path C:\Users\Beat\leginformant\$RESOURCE_DIR\package.json
npm ERR! code ENOENT
npm ERR! errno -4058
npm ERR! syscall open
npm ERR! enoent ENOENT: no such file or directory, open 
'C:\Users\Beat\leginformant\$RESOURCE_DIR\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

Package.json फ़ाइल मेरे प्रोजेक्ट / फ़ंक्शंस / package.json में ट्यूटोरियल शो के रूप में मौजूद है। सफलता के साथ RESOURCE_DIR env को बदलने या प्रिंट करने की कोशिश की है। यह मानते हुए कि इसे एनपीएम शेल पर्यावरण के अंदर स्कोप किया जाएगा।

एनपीएम संस्करण: 5.6.0

नोड संस्करण: 8.9.0


अन्य सुझावों के अलावा, यदि आप प्रीफ़्लाइट / प्रीपेयेल कमांड को निम्न से बदलते हैं:

"npm --prefix \"$RESOURCE_DIR\" run lint", OR
"npm --prefix \"%RESOURCE_DIR%\" run lint"

सेवा मेरे

"npm --prefix ./functions run lint"

मुद्दा तय हो गया लगता है। यह भी विंडोज और लिनक्स दोनों के लिए इसे हल करता है।

अधिक विवरण देखने के लिए, कृपया इस उत्तर को देखें (और आगे का धागा): https://github.com/firebase/firebase-tools/issues/610#issuecomment-360147507


आपको यहाँ दिखाया गया है, आपको firebase.json फ़ाइल को बदलना होगा

"npm --prefix functions run lint"
"npm --prefix functions run build"

एक अतिरिक्त कर के रूप में npm --prefix% RESOURCE_DIR% रन लिंट जैसे @Deji जेम्स ने कहा, मुझे कुछ प्रगति हुई लेकिन फिर भी काम नहीं किया।

एक सुझाव के रूप में मुझे यह https://github.com/firebase/firebase-tools/issues/610 मिला

और @merlinnot यहाँ कहते हैं, हे लोग, आप सभी को फायरबेस में अपने प्रीपाइल में संभवत: st.json है, है ना? बस जो आपके पास है उसे अभी हटा दें यदि यह उतना महत्वपूर्ण नहीं है।

मेरे लिए काम किया। पुनश्च। हटाने का निर्णय लेने से पहले, मैंने सभी चीजों को पुनः स्थापित किया है, चीजों को अनइंस्टॉल किया है। केवल यह काम किया है।


निम्नलिखित बदलें:

npm --prefix \"$RESOURCE_DIR\" run lint

सेवा मेरे

npm --prefix \"%RESOURCE_DIR%\" run lint

मुख्य संरचना में firebase.json फ़ाइल में

{
  "functions": {
    "predeploy": [
      "npm --prefix \"%RESOURCE_DIR%\" run lint"
    ],
    "source": "functions"
  }
}

यह कम से कम 3.17.3 के माध्यम से Firebase CLI 3.17.0 के साथ एक ज्ञात समस्या है, लेकिन केवल विंडोज पर। आप अपने प्रोजेक्ट के रूट पर firebase.json को एडिट करके $RESOURCE_DIR जगह %RESOURCE_DIR% के साथ npm कमांड्स में एडिट करके अपनी मशीन पर इसे ठीक कर सकते हैं। पूर्व एक पर्यावरण चर का उपयोग करने के लिए यूनिक्स सिंटैक्स तरीका है, जबकि बाद वाला विंडोज कमांड शेल सिंटैक्स है। चूंकि आप विंडोज का उपयोग कर रहे हैं, इसलिए आपको विंडोज सिंटैक्स का उपयोग करने की आवश्यकता है।

टीम आपके द्वारा उपयोग की जाने वाली कॉन्फ़िग फ़ाइलों में परिवर्तन करने से रोकने के तरीकों पर गौर कर रही है, क्योंकि यह उन टीमों के लिए वास्तव में सुविधाजनक नहीं है जो एक ही फ़ाइल को आगे और पीछे बदलते रहने के लिए प्लेटफ़ॉर्म पर काम करती हैं।

EDIT: यह समस्या CLI संस्करण 3.17.5 के साथ बनाई गई परियोजनाओं के साथ तय की जानी चाहिए।





firebase-cli