Файл ошибки веб-инициализации Firebase уже существует

#node.js #firebase #firebase-cli

#node.js #Firebase #firebase-cli

Вопрос:

Я установил Node.js , npm и firebase-инструменты. Я хочу развернуть веб-приложение с помощью Firebase hosting. Я следую документации и выполняю команды, как показано, но получаю неожиданную ошибку. Я опубликовал журнал отладки firebase. Как мне это исправить? Журналы команд

 [debug] [2019-04-20T21:08:12.230Z] ----------------------------------------------------------------------
[debug] [2019-04-20T21:08:12.233Z] Command:       C:Program Filesnodejsnode.exe C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolslibbinfirebase.js init
[debug] [2019-04-20T21:08:12.233Z] CLI Version:   6.7.0
[debug] [2019-04-20T21:08:12.233Z] Platform:      win32
[debug] [2019-04-20T21:08:12.233Z] Node Version:  v11.14.0
[debug] [2019-04-20T21:08:12.234Z] Time:          Sat Apr 20 2019 17:08:12 GMT-0400 (Eastern Daylight Time)
[debug] [2019-04-20T21:08:12.234Z] ----------------------------------------------------------------------
[debug] 
[debug] [2019-04-20T21:08:12.241Z] > command requires scopes: ["email","openid","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","https://www.googleapis.com/auth/cloud-platform"]
[debug] [2019-04-20T21:08:12.242Z] > authorizing via signed-in user
[info] 
     ######## #### ########  ######## ########     ###     ######  ########
     ##        ##  ##     ## ##       ##     ##  ##   ##  ##       ##
     ######    ##  ########  ######   ########  #########  ######  ######
     ##        ##  ##    ##  ##       ##     ## ##     ##       ## ##
     ##       #### ##     ## ######## ########  ##     ##  ######  ########

You're about to initialize a Firebase project in this directory:

  C:UsersCameron

Before we get started, keep in mind:

  * You are initializing your home directory as a Firebase project

[info] 
=== Project Setup
[info] 
[info] First, let's associate this project directory with a Firebase project.
[info] You can create multiple project aliases by running firebase use --add, 
[info] but for now we'll just set up a default project.
[info] 
[debug] [2019-04-20T21:08:16.637Z] > refreshing access token with scopes: ["email","https://www.googleapis.com/auth/cloud-platform","https://www.googleapis.com/auth/cloudplatformprojects.readonly","https://www.googleapis.com/auth/firebase","openid"]
[debug] [2019-04-20T21:08:16.638Z] >>> HTTP REQUEST POST https://www.googleapis.com/oauth2/v3/token  
 <request body omitted>
[debug] [2019-04-20T21:08:16.846Z] <<< HTTP RESPONSE 200
[debug] [2019-04-20T21:08:16.878Z] >>> HTTP REQUEST GET https://firebase.googleapis.com/v1beta1/projects?page_size=100  

[debug] [2019-04-20T21:08:17.215Z] <<< HTTP RESPONSE 200
[info] i  Using project autoretarb (autoretarb)
[info] 
=== Hosting Setup
[info] 
[info] Your public directory is the folder (relative to your project directory) that
[info] will contain Hosting assets to be uploaded with firebase deploy. If you
[info] have a build process for your assets, use your build's output directory.
[info] 
[debug] [2019-04-20T21:08:33.318Z] Error: EEXIST: file already exists, mkdir 'C:UsersCameron'
    at Object.mkdirSync (fs.js:773:3)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:22:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:27:16)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
    at mkdirsSync (C:UsersCameronAppDataRoamingnpmnode_modulesfirebase-toolsnode_modulesfs-extralibmkdirsmkdirs-sync.js:28:9)
[error] 
[error] Error: An unexpected error has occurred.
  

Ответ №1:

Прежде всего обратите внимание на предупреждение вверху:

Прежде чем мы начнем, имейте в виду:

  • Вы инициализируете свой домашний каталог как проект Firebase

Пожалуйста, убедитесь, что вы хотите использовать свой домашний каталог в качестве корня проекта. Как правило, это не очень хорошая идея. Это определенно вызовет проблемы позже, если вы захотите создать другие проекты в своем домашнем каталоге. Вместо этого я предлагаю вам создать новый каталог и запустить firebase init оттуда. CLI захочет создать там кучу других файлов и каталогов.

Теперь обратите внимание на подсказку, в которой вы получили ошибку:

Ваш общедоступный каталог — это папка (относительно каталога вашего проекта), которая будет содержать ресурсы хостинга, которые будут загружены с помощью firebase deploy. Если у вас есть процесс сборки для ваших ресурсов, используйте выходной каталог вашей сборки.

В нем конкретно указано относительно каталога вашего проекта, но вы указали ему абсолютный путь «C:Biz Дискadmin_public».

Лучше разрешить командной строке Firebase создавать общую папку в ее расположении по умолчанию в папке проекта, если вы не знаете, что у вас есть очень конкретная необходимость в противном случае. Для начала я предлагаю просто взять значения по умолчанию, а затем изменить их позже в firebase.json.

Комментарии:

1. Спасибо, это сработало после того, как я изменил корневой каталог на папку проекта и оставил общий каталог пустым. Я просто новичок в Firebase и node.js

Ответ №2:

Если вы используете Windows

Я столкнулся с такой же ошибкой, тогда я просто запускаю командную строку от имени администратора, после чего проблема решена.