当我通过firebase托管我的网页时,然后在编写命令firebase deploy
后,我收到以下错误:
Microsoft Windows [Version 10.0.14393] (c) 2016 Microsoft Corporation. All rights reserved. C:\Users\amarg\Desktop\amar>firebase init ######## #### ######## ######## ######## ### ###### ######## ## ## ## ## ## ## ## ## ## ## ## ###### ## ######## ###### ######## ######### ###### ###### ## ## ## ## ## ## ## ## ## ## ## ## #### ## ## ######## ######## ## ## ###### ######## You're about to initialize a Firebase project in this directory: C:\Users\amarg\Desktop\amar Before we get started, keep in mind: * You are initializing in an existing Firebase project directory ? Are you ready to proceed? Yes ? What Firebase CLI features do you want to setup for this folder? Hosting: Configure and deploy Firebase Hosting sites === Project Setup First, let's associate this project directory with a Firebase project. You can create multiple project aliases by running firebase use --add, but for now we'll just set up a default project. i .firebaserc already has a default project, skipping === Hosting Setup Your public directory is the folder (relative to your project directory) that will contain Hosting assets to be uploaded with firebase deploy. If you have a build process for your assets, use your build's output directory. ? What do you want to use as your public directory? public ? Configure as a single-page app (rewrite all urls to /index.html)? No ? File public/404.html already exists. Overwrite? No i Skipping write of public/404.html ? File public/index.html already exists. Overwrite? No i Skipping write of public/index.html i Writing configuration info to firebase.json... i Writing project information to .firebaserc... + Firebase initialization complete! C:\Users\amarg\Desktop\amar>firebase deploy === Deploying to 'learningweb-6b2a3'... i deploying hosting + database: rules ready to deploy. i hosting: preparing public directory for upload... Error: An unexpected error has occurred. C:\Users\amarg\Desktop\amar>
答案 0 :(得分:5)
对我来说,更新firebase-tools解决了该问题
在cmd提示符下运行以下命令
npm install -g firebase-tools
然后再次尝试将Firebase初始化
答案 1 :(得分:3)
确保通过在终端上运行firebase login
登录。
答案 2 :(得分:2)
复制此内容并粘贴到firebase.json中
{
"hosting": {
"public": "./",
"ignore": [
"firebase.json",
"database-rules.json",
"storage.rules",
"functions"
],
"headers": [{
"source" : "**/*.@(js|html)",
"headers" : [ {
"key" : "Cache-Control",
"value" : "max-age=0"
} ]
}]
}
}
答案 3 :(得分:2)
对我来说,我尝试了很多,然后我发现 firebase.json 仍然有功能, 我删除了它并且它起作用了 顺便说一下我正在使用
firebase deploy --except functions
firebase deploy --only hosting
那没有帮助 所以也许删除你不需要的
{
*"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
},*
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
答案 4 :(得分:2)
我过去使用 Firebase 函数,我放弃了这个想法并在 node.js 中创建了我想要的。
因此,如果您不使用 firebase 函数,请删除 firebase.json 文件中的以下内容
"functions": {
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint"
]
}
答案 5 :(得分:1)
这可能是由于npm和节点版本 对于Mac OS,您可以使用以下命令更新npm:
npm install -g npm@latest
并直接通过链接https://nodejs.org/en/并下载安装程序来更新节点。 并运行
npm install -g firebase-tools
用于消除Firebase托管部署错误(同样如果您要更新现有托管网站)
您可以再次进行处理
1] firebase login
2] firebase init
3] firebase deploy
确保您当前的文件夹有两件事: 公用文件夹(包含所有文件index.html)和firebase.json文件
答案 6 :(得分:1)
通过键入exit并单击Enter,关闭IDE的集成终端,然后重新打开并输入命令firebase deploy
如果以上选项不起作用,则只需在linux / mac中使用终端,在Windows中使用CMD并导航至该文件夹,然后提供firebase deploy
命令
答案 7 :(得分:1)
在firebase.json文件中,您是否为function或functions.source设置了值?如果这样做,则可能导致此问题。 删除angular.json中的函数,它将起作用
答案 8 :(得分:1)
在我的情况下,请解决:
firebase deploy --except functions
答案 9 :(得分:1)
是的,我遇到过这个问题..
这是因为我使用的节点版本Node v.8.0.0
我只是将它降级到Node v.16.0.3
,然后我的部署完成了:)
答案 10 :(得分:0)
首先,查看项目根目录(firebase.json旁)中的firebase-debug.log
可能有助于定义错误。在我的情况下,出现“无法读取未定义的属性'deploys'” 错误。有一个关联的issue on github。删除多余的网站(我实际上并不需要它们),而仅将默认网站留在Firebase托管仪表板中解决了我的问题。
答案 11 :(得分:0)
如果您仍使用firebase serve
在localhost上提供站点,则可能会导致问题。关闭它,然后尝试部署。为我工作。
答案 12 :(得分:0)
我没有运行npm install
时收到该错误。试试看。我希望简单的解决方案可以帮助遇到相同问题的任何人。
答案 13 :(得分:0)
要解决此问题而无需重新启动,
firebase deploy --only functions
firebase --serve
答案 14 :(得分:0)
就我而言,当我没有在firebase.json中设置站点名称时,就会发生此错误。
答案 15 :(得分:0)
对我来说,这是因为我在firebase deploy
文件夹中运行functions
。我需要在父firebase
目录中运行它
答案 16 :(得分:0)
你应该检查你是否有nodeJs的文件夹和你网站的文件夹在 首先是同一个本地磁盘!
我遇到了同样的问题,NodeJs 在 local disk (D:)
中,我尝试从 local disk (C:)
部署,但是当我将网站的文件夹更改为 (D:)
时,它工作正常。>
答案 17 :(得分:0)
firebase deploy
, firebase serve
, firebase ...
在使用 firebase-debug.log
时 Cloud Functions for Firebase
中没有任何有意义的信息吗?
检查您的 package.json
文件夹中是否有 functions
。它应该具有来自您的 root
的 package.json
的所有依赖项,并且看起来像这样:
{
"name": "functions",
"description": "Cloud Functions for Firebase",
"engines": {
"node": "12"
},
"scripts": {
"serve": "firebase serve --only functions",
"shell": "firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
},
"dependencies": {
"@angular-builders/custom-webpack": "^11.1.1",
"@angular/animations": "^11.2.7",
"@angular/cdk": "^11.2.6",
...
},
"private": true
}
devDependencies
不是必需的。
答案 18 :(得分:0)
只需检查您的 firebase.json 并删除不必要的依赖项,检查我的
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]
}
}