Firebase-tools: نشر Firebase رسالة خطأ تحتوي على ملف firebase.json فارغ

تم إنشاؤها على ٧ يونيو ٢٠١٧  ·  32تعليقات  ·  مصدر: firebase/firebase-tools

كنت أقوم ببعض دمج المشروع اليوم ووجدت خطأً في أمر نشر Firebase.

تركت عن طريق الخطأ موقع firebase.json مع المحتويات على النحو التالي:
{}

وكانت تحاول النشر باستخدام firebase deploy --only database ولكن كان يظهر الخطأ التالي:
Error: No targets found. Valid targets are: database,storage,functions,hosting

استغرق الأمر مني بعض الوقت لمعرفة ذلك ، حيث اعتقدت أن هذا مرتبط بمشكلات nodejs v8 الأخيرة + حقيقة أنني كنت أقوم بنشر العديد من المشاريع بنجاح خلال الأشهر الستة الماضية (القواعد ومشروع وظائف منفصل يحتوي على قاعدة نارية فارغة. json) حتى الآن.

إذا كان الخطأ يقترح البحث في firebase.json ، فسيكون ذلك مفيدًا 👍

التعليق الأكثر فائدة

لقد جئت إلى هنا لفتح بعض المشكلات المشابهة لهذه المشكلة.

سيكون من الأفضل IMO ملء قاعدة Firebase مسبقًا بالخيارات الافتراضية. اخترت أنني أردت استخدام استضافة firebase.json فقط ، يجب أن يتم إنشاؤه باستخدام خيار الاستضافة الافتراضي.

{
  "hosting": {
    "public": "public"
  }
}

ال 32 كومينتر

لقد جئت إلى هنا لفتح بعض المشكلات المشابهة لهذه المشكلة.

سيكون من الأفضل IMO ملء قاعدة Firebase مسبقًا بالخيارات الافتراضية. اخترت أنني أردت استخدام استضافة firebase.json فقط ، يجب أن يتم إنشاؤه باستخدام خيار الاستضافة الافتراضي.

{
  "hosting": {
    "public": "public"
  }
}

شكرا لملاحظاتك ahaverty ! أوافق على أن رسالة الخطأ يمكن أن تكون وصفية أكثر قليلاً. إنه صعب بعض الشيء نظرًا لأن الخطأ نفسه يحدث أيضًا إذا أخطأ شخص ما في كتابة أسماء الهدف عند استخدام العلامة --only (على سبيل المثال ، إذا قام شخص ما بتشغيل "Firebase serve - only jobs: funcA" ولم يكن لديهم في الواقع وظيفة تسمى funcA) . ما رأيك في رسالة خطأ مثل التالية؟

خطأ: لا يمكن فهم الأهداف المطلوب نشرها. تحقق من تحديد أهداف صالحة إذا استخدمت علامة - فقط أو - استثناء. بخلاف ذلك ، تحقق من firebase.json للتأكد من تهيئة مشروعك للميزات المطلوبة.

pedrosnk "

laurenzlong هذا يبدو مثاليًا في كلتا الحالتين 👌

بادئ ذي بدء ، أشكرك على ردك :)

اكتشفت ما حدث لي. ربما هو نفس الشيء الذي حدث لـahaverty.

لقد قمت بكتابة $ firebase init ولم أحدد خيار الاستضافة بالضغط على المساحة ، فذهبت إليه وضغطت على مفتاح الإدخال. (لم تقرأ الرسالة الكاملة على cli).

كان هذا خطأي بالكامل ، لكنني وقعت في مثل هذا الخطأ الذي يمكن تجنبه. ربما إذا ضغطت على إدخال في إحدى الميزات ، يجب أن يكون cli قادرًا على تحديدها لي تلقائيًا. بدلاً من إنشاء ملف firebase.json فارغ.

شكرا مرة أخرى على هذا المشروع.

سياق حالة الاستخدام الخاصة بي: أقوم بتغليف أوامر نشر Firebase في نصوص bash ببعض الشيكات الرائعة "هل أنت متأكد؟ 🤔" ، لأنني مرعوب يومًا ما من الوصول إلى مشروع إنتاجنا ببعض أكواد Dev المجنونة ، بعد ذلك بشكل غير صحيح تشغيل firebase use devproject ! أقوم أيضًا بإنشاء firebase.json عبر البرنامج النصي ، لكنني كنت أقوم ببعض القواعد التي تم إيقافها لمرة واحدة. pedrosnk أعتقد أن اقتراحك سيؤدي إلى كسر البرامج النصية الخاصة بي ، لكن رسالة الخطأ @ laurenzlong هي إصلاح جيد👌

توافق على رسالة خطأ أفضل في هذه الحالة جيدة بما يكفي

أتفق مع pedrosnk ، يجب

{
    "hosting": {
        "public": "public",
        "rewrites": [
            {
                "source": "**",
                "destination": "/index.html"
            }
        ],
    }
}

بعد كل شيء ، يستخدم الجميع SPA مع Firebase Hosting.

فقط أرسلت العلاقات العامة لإصلاح الخطأ msg. pedrosnk و PierBover ماذا لو لم تسمح لك "

مرحبًا laurenzlong ، لقد حددت hosting عند عمل firebase init وحصلت على ملف فارغ.

PierBover هذا خطأ إذن. عندما أقوم بـ "firebase init" واختيار الاستضافة ، أحصل على هذا في firbase.json الخاص بي:

{
  "hosting": {
    "public": "public",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ]
  }
}

هل يمكنك محاولة إعادة إنتاج الخطأ؟ وإذا كان بإمكانك إعادة إنتاجها ، فقم بتقديم مشكلة أخرى؟ (يرجى تضمين إصدار CLI والنظام الأساسي الذي تقوم بتشغيله.)

أيضًا ، يمكنك تحديد ميزة عن طريق الضغط على مسافة (تصبح الدائرة ممتلئة بعد ذلك). إذا حددته ، فسيتم إرشادك خلال بعض الأسئلة المتعلقة بالاستضافة (ما الذي تريد استخدامه كدليل عام؟ قم بتكوينه كتطبيق من صفحة واحدة (إعادة كتابة جميع عناوين url إلى /index.html)؟)

أنت على حق ، ربما ضغطت على إدخال بدلاً من الفضاء. خطأي.

لا قلق!

عذرًا ، أنا مبتدئ وهذه أقرب مناقشة للخطأ الذي أراه. في firebase init اخترت وظائف السحابة وحصلت على firebase.json فارغًا بأقواس معقوفة. يعطيني النشر الآن "لا أستطيع فهم الأهداف التي يجب نشرها". هل استخدام الاستضافة شرط أساسي لاستخدام وظائف السحابة؟

مرحبًا himanshugarg ، لا يمكنني إعادة إنتاج الخطأ الخاص بك ، يجب أن تكون قادرًا على

شكرا لك! تضمين التغريدة

@ laurenzlong شكرا للتحقق. كانت غلطتي. لقد قمت بنقل بعض ملفات Firebase فقط إلى دليل آخر ، مما تسبب في ذلك. عمل البادئة النظيفة تعمل بشكل جيد. https://stackoverflow.com/questions/45935600/firebase-cannot-understand-what-targets-to-deploy

في firebase init CLI ، يمكن لمن يرى الأقواس () أن يعتقد أنه يقلد زر الاختيار ، لذلك يختار خيارًا ويضغط على Enter. أقترح بدلاً من ذلك أقواس مربعة [] تشير إلى الاختيار من متعدد (مربعات الاختيار).

كان لدي أيضًا ملف firebase.json فارغًا بسبب الضغط على Enter وفقدان Space.
لم أقرأ التعليمات لأنني كنت أعرف أنني بحاجة إلى اختيار خيار "الاستضافة".

"ignore": [
  "firebase.json",
  "**/.*",
  "**/node_modules/**"
]

// تجنب "etra" بعد قوس sqr ما لم يكن لديك وسيط للذهاب إلى هناك

لقد ضغطت أيضًا على مفتاح الإدخال بدلاً من المسافة. أعتقد أنها ليست مشكلة وظيفية ولكنها بالفعل مشكلة متعلقة بقابلية الاستخدام

@ lelong88 أعتقد أن هذا سيحدث في المرة الأولى لكثير من الناس.

يبحث Firebase افتراضيًا في المجلد "public" عن ملف "index.html".

إذا كان ملف "index.html" في ملف angular4 موجودًا في المجلد "dist" ، فيجب عليك الانتقال إلى "firebase.json" ولصقه هناك:

{
"الاستضافة": {
"عام": "توزيع"
}
}

هذا هو توجيه Firebase للبحث عن "index.html" في مجلد "dist" أو أيًا كان اسم المجلد "public".
عدد النوى التي لديك يستدعي ملفك "index.html".

بعد ذلك:

firebase deploy

ربما ستعمل

عملت لي!

مساحة لتحديد الميزات؟ هل رجمت؟

ahahahah استخدام الفضاء؟ انفجرت من الضحك.
حسنًا ، فهمت لماذا حصلت على ملف فارغ الآن. ¯_ (ツ) _ / ¯

[تصحيح] [2018-06-03T15: 18: 34.367Z] ----------------------------------- -----------------------------------
[تصحيح] [2018-06-03T15: 18: 34.371Z] الأمر: C: \ Program Files \ nodejs \ node.exe C: \ Users \ pushpendraPC \ AppData \ Roaming \ npm \ node_modules \ firebase-toolsbinfirebase init MyAssignMent
[تصحيح] [2018-06-03T15: 18: 34.371Z] إصدار CLI: 3.18.5
[تصحيح] [2018-06-03T15: 18: 34.371Z] النظام الأساسي: win32
[تصحيح] [2018-06-03T15: 18: 34.372Z] إصدار العقدة: v10.3.0
[تصحيح] [2018-06-03T15: 18: 34.373Z] الوقت: الأحد 03 حزيران (يونيو) 2018 20:48:34 GMT + 0530 (توقيت الهند القياسي)
[تصحيح] [2018-06-03T15: 18: 34.373Z] ----------------------------------- -----------------------------------
[تصحيح]
[debug] [2018-06-03T15: 18: 34.388Z]> يتطلب الأمر نطاقات: ["email" ، "openid" ، "https://www.googleapis.com/auth/cloudplatformprojects.readonly" ، "https: //www.googleapis.com/auth/firebase "]
[تصحيح] [2018-06-03T15: 18: 34.389Z]> التفويض عبر مستخدم قام بتسجيل الدخول
[معلومات]
######## #### ######## ######## ######## ### ###### ##### ###
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## ###### ######## ######### ###### ##### #
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ######## ## ## ###### ########

أنت على وشك تهيئة مشروع Firebase في هذا الدليل:

C: \ Users \ pushpendraPC \ سطح المكتب \ مشروع \ NewAsignMentDeploy \ AssignMent \ src

قبل أن نبدأ ، ضع في اعتبارك:

  • أنت بصدد التهيئة في دليل مشروع Firebase موجود

[معلومات]
=== إعداد المشروع
[معلومات]
[معلومات] أولاً ، دعنا نربط دليل المشروع هذا بمشروع Firebase.
[معلومات] يمكنك إنشاء عدة أسماء مستعارة للمشروع عن طريق تشغيل استخدام Firebase - add ،
[معلومات] ولكن في الوقت الحالي سنقوم فقط بإعداد مشروع افتراضي.
[معلومات]
[تصحيح] [2018-06-03T15: 18: 36.584Z] >>> طلب HTTP احصل على https://admin.firebase.com/v1/projects

الأحد 03 حزيران (يونيو) 2018 ، الساعة 20:48:36 بتوقيت غرينتش + 0530 (توقيت الهند القياسي)
[تصحيح] [2018-06-03T15: 18: 38.115Z] <<< HTTP RESPONSE 200
[info] i .firebaserc لديه بالفعل مشروع افتراضي ، تخطي
[معلومات]
=== إعداد مهمتي
[تصحيح] [2018-06-03T15: 18: 38.543Z] خطأ في النوع: الميزات [nextFeature] ليست دالة
في init (C: \ Users \ pushpendraPC \ AppData \ Roaming \ npm \ node_modules \ firebase-toolslib \ init \ index.js: 13: 49)
في C: \ Users \ pushpendraPC \ AppData \ Roaming \ npm \ node_modules \ firebase-toolslib \ init \ index.js: 14:14
في process._tickCallback (داخلي / عملية / next_tick.js: 68: 7)
[خطأ]
[خطأ] خطأ: حدث خطأ غير متوقع.

عرض الخطأ عند تشغيل الحرف الأول cmd firebase

مرحبا،
أدناه كان خطأ في المتصفح.

الصفحة غير موجودة
هذا الملف غير موجود ولم يتم العثور على index.html في الدليل الحالي أو 404.html في الدليل الجذر.

لماذا أرى هذا؟
ربما تكون قد نشرت الدليل الخاطئ لتطبيقك. تحقق من firebase.json وتأكد من أن الدليل العام يشير إلى دليل يحتوي على ملف index.html.

يمكنك أيضًا إضافة 404.html في جذر موقعك لاستبدال هذه الصفحة بصفحة خطأ مخصصة.

* * * * * سطر الأوامر * * * * * *
نشر Firebase

=== جارٍ النشر في 'organicshop-18573' ...

أنا نشر الاستضافة
i Hosting: تحضير دليل التوزيعات للتحميل ...
⚠ تحذير: الدليل العام لا يحتوي على index.html
✔ الاستضافة: تم رفع 7 ملفات بنجاح

✔ اكتمل النشر!
* * * * Firebase.Json * * * * * **

{
"الاستضافة": {
"عام": "Dist"،
"يتجاهل": [
"firebase.json"،
" /. " ،" / node_modules / "] ،"تعيد كتابة": [{"المصدر": "
"الوجهة": "/index.html"
}
]
}
}
* * هيكل المجلد * * **
في مجلد التوزيع كان لدي index.html. ولكن عندما أحاول نشره يظهر لي أن "الملف غير موجود ولا يوجد index.html.

اكتب ng build ثم اكتب firebase

فايربيس سيئة

يبدو أن هذه القضية الأصلية قد تم تناولها. نظرًا لعدم وجود نشاط حديث ، سأغلق هذا.

إذا كان لدى أي شخص مشكلات إضافية مع firebase.json ، فيرجى فتح إصدار جديد بالمعلومات المناسبة!

لقد اتبعت الحلول المقدمة لكنها لم تحل مشكلتي.

الصفحة لا تجلب البيانات ، فهي فارغة ، ولكن يتم تحميل رمز المفضلة. ما برد المشكلة

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات