Firebase-tools: Firebase menyebarkan pesan kesalahan dengan firebase.json kosong

Dibuat pada 7 Jun 2017  ·  32Komentar  ·  Sumber: firebase/firebase-tools

Saya sedang melakukan sedikit penggabungan proyek hari ini dan menemukan kesalahan dengan perintah penyebaran firebase.

Saya tidak sengaja meninggalkan firebase.json saya dengan konten sebagai:
{}

Dan mencoba menyebarkan dengan firebase deploy --only database tetapi mendapatkan kesalahan berikut:
Error: No targets found. Valid targets are: database,storage,functions,hosting

Butuh beberapa saat untuk mencari tahu, karena saya pikir ini terkait dengan masalah nodejs v8 baru-baru ini + fakta bahwa saya telah berhasil menerapkan beberapa proyek selama 6 bulan terakhir (aturan dan proyek fungsi terpisah yang memiliki file firebase. json) sampai sekarang.

Jika kesalahan menyarankan untuk melihat ke firebase.json saya, itu akan membantu 👍

Komentar yang paling membantu

Saya datang ke sini untuk membuka beberapa masalah yang mirip dengan yang ini.

IMO akan lebih baik untuk mengisi firebase dengan opsi default. Saya memilih bahwa saya hanya ingin menggunakan hosting firebase.json yang seharusnya dibuat dengan opsi hosting default.

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

Semua 32 komentar

Saya datang ke sini untuk membuka beberapa masalah yang mirip dengan yang ini.

IMO akan lebih baik untuk mengisi firebase dengan opsi default. Saya memilih bahwa saya hanya ingin menggunakan hosting firebase.json yang seharusnya dibuat dengan opsi hosting default.

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

Terima kasih atas umpan baliknya @ahaverty ! Saya setuju bahwa pesan kesalahan bisa sedikit lebih deskriptif. Agak sulit karena kesalahan yang sama juga terjadi jika seseorang salah mengeja nama target saat menggunakan flag --only (misalnya jika seseorang menjalankan "firebase serve --only functions:funcA" dan mereka sebenarnya tidak memiliki fungsi yang disebut funcA) . Apa pendapat Anda tentang pesan kesalahan seperti berikut?

Kesalahan: Tidak dapat memahami target yang akan diterapkan. Periksa apakah Anda menetapkan target yang valid jika Anda menggunakan tanda --only atau --except. Jika tidak, periksa firebase.json Anda untuk memastikan bahwa proyek Anda diinisialisasi untuk fitur yang diinginkan.

@pedrosnk "firebase init" seharusnya mengisi firebase.json dengan opsi default yang benar. Jika tidak, dapatkah Anda mengajukan bug lain dan menyertakan instruksi terperinci untuk mereproduksi?

@laurenzlong Kedengarannya sempurna dalam kedua kasus

Pertama-tama terima kasih atas tanggapan Anda :)

Saya menemukan apa yang terjadi pada saya. mungkin hal yang sama terjadi pada @ahaverty.

Saya mengetik $ firebase init dan saya belum memilih opsi hosting dengan menekan spasi. Saya pergi ke sana dan menekan tombol enter. (belum membaca pesan lengkap di cli).

Itu sepenuhnya kesalahanku, tapi aku merasa kesalahan ini bisa dihindari. Mungkin jika saya menekan enter ke fitur, cli seharusnya dapat memilihnya untuk saya secara otomatis. alih-alih menghasilkan file firebase.json kosong.

terima kasih lagi untuk proyek ini.

Konteks pada kasus penggunaan saya: Saya membungkus perintah penyebaran Firebase kami dalam skrip bash dengan beberapa pemeriksaan "Apakah Anda yakin?🤔" yang indah, karena saya takut suatu hari memukul proyek produksi kami dengan beberapa kode Dev gila, setelah tidak benar menjalankan firebase use devproject ! Saya juga membuat firebase.json melalui skrip, tetapi melakukan beberapa penggabungan rules.bolt ke dalam repo fungsi saya, dan akhirnya mengenai ini. @pedrosnk Saya pikir saran Anda akan merusak skrip saya, tetapi pesan kesalahan @laurenzlong adalah perbaikan yang bagus👌

Setuju pesan kesalahan yang lebih baik dalam hal ini cukup baik

Saya setuju dengan @pedrosnk file harus diisi dengan beberapa opsi default seperti:

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

Lagi pula, semua orang menggunakan SPA dengan Firebase Hosting.

Baru saja mengirim PR untuk memperbaiki pesan kesalahan. @pedrosnk dan @PierBover bagaimana jika "firebase init" tidak membuat Anda maju lebih jauh jika Anda tidak memilih fitur apa pun? Kami tidak dapat benar-benar mengisi hosting secara default karena beberapa orang tidak benar-benar menggunakannya (misalnya, jika mereka memiliki aplikasi seluler dan menggunakan fungsi).

Hai @laurenzlong saya memang memilih hosting saat melakukan firebase init dan saya mendapat file kosong.

@PierBover itu bug. Ketika saya melakukan 'firebase init' dan memilih hosting, saya mendapatkan ini di firbase.json saya:

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

Bisakah Anda mencoba mereproduksi bug? Dan jika Anda dapat mereproduksinya, maka ajukan masalah lain? (Harap sertakan versi CLI, platform yang Anda jalankan.)

Juga, Anda memilih fitur dengan menekan spasi (lingkaran kemudian menjadi terisi). Jika Anda memilihnya, maka Anda akan dipandu melalui beberapa pertanyaan terkait hosting (Apa yang ingin Anda gunakan sebagai direktori publik Anda? Konfigurasikan sebagai aplikasi satu halaman (tulis ulang semua url ke /index.html)?)

Anda benar, saya mungkin menekan enter alih-alih spasi. Salahku.

Jangan khawatir!

Maaf, saya seorang pemula dan ini adalah diskusi terdekat dengan kesalahan yang saya lihat. Pada firebase init saya memilih fungsi cloud dan mendapatkan firebase.json kosong dengan kurung kurawal. Sekarang penggelaran memberi saya "tidak dapat memahami target apa yang akan digunakan". Apakah menggunakan hosting merupakan prasyarat untuk menggunakan fungsi cloud?

Hai @himanshugarg Saya tidak dapat mereproduksi bug Anda, Anda harus dapat menerapkannya setelah hanya menginisialisasi fungsi. Bisakah Anda mengajukan masalah terpisah, dan mengikuti template masalah sehingga kami dapat menangkap lebih banyak detail?

Terima kasih! @pedrosnk

@laurenzlong terima kasih telah memeriksa. Ini kesalahanku. Saya hanya memindahkan beberapa file firebase ke direktori lain, menyebabkan ini. Melakukan init bersih bekerja dengan baik. https://stackoverflow.com/questions/45935600/firebase-cannot-understand-what-targets-to-deploy

Di firebase init CLI, orang yang melihat tanda kurung ( ) dapat mengira itu meniru tombol radio, jadi pilih opsi dan tekan Enter. Saya menyarankan sebagai gantinya tanda kurung siku [ ] yang menyarankan pilihan ganda (kotak centang).

Saya juga memiliki file firebase.json kosong karena menekan Enter dan melewatkan Space.
Saya belum membaca instruksi karena saya tahu saya harus memilih opsi "Hosting".

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

// Hindari etra ',' setelah kurung siku kecuali jika Anda memiliki argumen untuk pergi ke sana

Saya juga menekan enter alih-alih spasi. Saya kira itu bukan masalah fungsional tetapi memang masalah kegunaan

@lelong88 Saya

firebase mencari secara default di folder 'publik' untuk file 'index.html'.

jika di angular4 misalnya 'index.html' ada di folder 'dist' Anda harus masuk ke 'firebase.json' dan tempel di sana:

{
"hosting": {
"publik": "distrik"
}
}

ini mengarahkan firebase untuk mencari 'index.html' di folder 'dist' atau apa pun panggilan foldernya, bukan 'publik'.
inti yang Anda miliki bahwa file Anda memanggil 'index.html'.

Setelah itu:

firebase deploy

mungkin akan berhasil

bekerja untuk saya!

Ruang untuk memilih fitur? Apakah Anda dirajam?

ahahahah menggunakan ruang? LMA.
Oke, saya mengerti mengapa saya mendapat file kosong sekarang. _(ツ)_/¯

[debug] [2018-06-03T15:18:34.367Z] ----------------------------------- -----------------------------------
[debug] [2018-06-03T15:18:34.371Z] Perintah: C:\Program Files\nodejs\node.exe C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolsbinfirebase init MyAssignMent
[debug] [2018-06-03T15:18:34.371Z] Versi CLI: 3.18.5
[debug] [2018-06-03T15:18:34.371Z] Platform: win32
[debug] [2018-06-03T15:18:34.372Z] Versi Node: v10.3.0
[debug] [2018-06-03T15:18:34.373Z] Waktu: Minggu 03 Jun 2018 20:48:34 GMT+0530 (Waktu Standar India)
[debug] [2018-06-03T15:18:34.373Z] ----------------------------------- -----------------------------------
[debug]
[debug] [2018-06-03T15:18:34.388Z] > perintah memerlukan cakupan: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https: //www.googleapis.com/auth/firebase"]
[debug] [2018-06-03T15:18:34.389Z] > otorisasi melalui pengguna yang masuk
[info]
######## #### ######## ######## ######## ### ###### ############ ###
## ## ## ## ## ## ## ## ## ## ##
###### ## ######## ###### ####### ######### ##### ############ #
## ## ## ## ## ## ## ## ## ## ##
## #### ## ## ######## ####### ## ## ###### ########

Anda akan menginisialisasi proyek Firebase di direktori ini:

C:\Users\pushpendraPC\Desktop\project\NewAsignMentDeploy\AssignMent\src

Sebelum kita mulai, ingatlah:

  • Anda melakukan inisialisasi di direktori proyek Firebase yang ada

[info]
=== Pengaturan Proyek
[info]
[info] Pertama, mari kita kaitkan direktori proyek ini dengan proyek Firebase.
[info] Anda dapat membuat beberapa alias proyek dengan menjalankan firebase use --add,
[info] tetapi untuk saat ini kami hanya akan menyiapkan proyek default.
[info]
[debug] [2018-06-03T15:18:36.584Z] >>> PERMINTAAN HTTP DAPATKAN https://admin.firebase.com/v1/projects

Sun 03 Jun 2018 20:48:36 GMT+0530 (Waktu Standar India)
[debug] [2018-06-03T15:18:38.115Z] <<< HTTP RESPON 200
[info] i .firebaserc sudah memiliki proyek default, lewati
[info]
=== Pengaturan Tugas Saya
[debug] [2018-06-03T15:18:38.543Z] TypeError: features[nextFeature] bukan fungsi
di init (C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:13:49)
di C:\Users\pushpendraPC\AppData\Roaming\npm\node_modules\firebase-toolslib\init\index.js:14:14
di process._tickCallback (internal/process/next_tick.js:68:7)
[kesalahan]
[kesalahan] Kesalahan: Terjadi kesalahan yang tidak terduga.

tampilkan kesalahan ketika saya menjalankan cmd firebase init

Hai,
Di bawah ini adalah kesalahan di browser.

Halaman tidak ditemukan
File ini tidak ada dan tidak ada index.html yang ditemukan di direktori saat ini atau 404.html di direktori root.

Mengapa saya melihat ini?
Anda mungkin telah menerapkan direktori yang salah untuk aplikasi Anda. Periksa firebase.json Anda dan pastikan direktori publik mengarah ke direktori yang berisi file index.html.

Anda juga dapat menambahkan 404.html di root situs Anda untuk mengganti halaman ini dengan halaman kesalahan khusus.

* * * * * Baris Perintah * * * * * *
penyebaran firebase

=== Menyebarkan ke 'organicshop-18573'...

saya menggunakan hosting
i hosting: menyiapkan direktori dist untuk diunggah...
Peringatan: Direktori publik tidak berisi index.html
hosting: 7 file berhasil diunggah

Menyebarkan selesai!
* * * * Firebase.Json * * * * * **

{
"hosting": {
"publik": "distrik",
"mengabaikan": [
"firebase.json",
" /. "," /node_modules/ "],"menulis ulang": [{"sumber": " ",
"tujuan": "/index.html"
}
]
}
}
* * Struktur Folder * * **
Di folder dist saya punya index.html. Tetapi ketika saya mencoba untuk menyebarkannya ditampilkan sebagai " File tidak ada dan tidak ada index.html.

ketik ng build lalu ketik firebase deploy

firebase buruk

Masalah asli ini tampaknya telah diatasi. Karena tidak ada aktivitas baru-baru ini, saya akan menutup ini.

Jika ada yang memiliki masalah tambahan dengan firebase.json , silakan buka edisi baru dengan informasi yang sesuai!

Saya telah mengikuti solusi yang disediakan tetapi mereka belum menyelesaikan masalah saya.

halaman tidak mengambil data, kosong, tetapi ikon fav dimuat. dingin apa masalahnya?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

spidi123q picture spidi123q  ·  42Komentar

abusedmedia picture abusedmedia  ·  93Komentar

thiagobonfante picture thiagobonfante  ·  45Komentar

jpreynat picture jpreynat  ·  113Komentar

Nowaker picture Nowaker  ·  62Komentar