Firebase CLI 部署警告:Node.js 8 运行时已弃用,将于 2020-12-05 停用
Posted
技术标签:
【中文标题】Firebase CLI 部署警告:Node.js 8 运行时已弃用,将于 2020-12-05 停用【英文标题】:Firebase CLI deployment warning: The Node.js 8 runtime is deprecated and will be decommissioned on 2020-12-05 【发布时间】:2020-11-12 17:40:28 【问题描述】:我正在尝试学习如何将打字稿部署到我的 FCF 上,但它似乎没有像文档和 firecast 的官方视频中那样进行部署。当我尝试部署我的默认代码 helloworld 而不是 typescript 时,它正在部署 node.js 文件,我不明白为什么?下面是一些json文件和ts文件,请看一下生成的文件。
tsconfig.json
"compilerOptions":
"module": "commonjs",
"noImplicitReturns": true,
"noUnusedLocals": true,
"outDir": "lib",
"sourceMap": true,
"strict": true,
"target": "es2017"
,
"compileOnSave": true,
"include": [
"src"
]
package.json
"name": "functions",
"scripts":
"lint": "./node_modules/.bin/tslint -p tslint.json",
"build": "./node_modules/.bin/tsc",
"serve": "npm run build && firebase emulators:start --only functions",
"shell": "npm run build && firebase functions:shell",
"start": "npm run shell",
"deploy": "firebase deploy --only functions",
"logs": "firebase functions:log"
,
"engines":
"node": "8"
,
"main": "lib/index.js",
"dependencies":
"firebase-admin": "^8.10.0",
"firebase-functions": "^3.6.0"
,
"devDependencies":
"tslint": "^5.12.0",
"typescript": "^3.2.2",
"firebase-functions-test": "^0.2.0"
,
"private": true
index.ts
import * as functions from 'firebase-functions';
// Start writing Firebase Functions
// https://firebase.google.com/docs/functions/typescript
export const helloWorld = functions.https.onRequest((request, response) =>
response.send("Hello from Firebase!");
);
最后是部署代码时的结果:
=== Deploying to 'gym-system-63a51'...
i deploying functions
Running command: npm --prefix functions run build
> functions@ build C:\Users\FX504GE-EN179T\Desktop\Clustore_App\MapboxTest\TypeScript\functions
> tslint -p tslint.json && tsc
Running command: npm --prefix "$RESOURCE_DIR" run lint
> functions@ lint C:\Users\FX504GE-EN179T\Desktop\Clustore_App\MapboxTest\TypeScript\functions
> tslint -p tslint.json
Running command: npm --prefix "$RESOURCE_DIR" run build
> functions@ build C:\Users\FX504GE-EN179T\Desktop\Clustore_App\MapboxTest\TypeScript\functions
> tslint -p tslint.json && tsc
+ functions: Finished running predeploy script.
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
! functions: The Node.js 8 runtime is deprecated and will be decommissioned on 2020-12-05. For more information, see: https://firebase.google.com/support/faq#functions-runtime
+ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
i functions: packaged functions (29.86 KB) for uploading
+ functions: functions folder uploaded successfully
i functions: updating Node.js 8 function helloWorld(us-central1)...
+ functions[helloWorld(us-central1)]: Successful update operation.
+ Deploy complete!
我有预感 package.json 中的引擎是原因?但我不知道我应该用什么号码更新它。谢谢!
【问题讨论】:
请编辑问题以显示代码以及您看到的任何错误消息。只是说它不起作用并不是有用的信息。应该有足够的信息,以便任何人都可以复制相同的东西。 好的,请稍候。我会更新的 @DougStevenson 我更新了问题,请看一下。谢谢! 您是否阅读了部署中的警告消息? "Node.js 8 运行时已弃用,将于 2020-12-05 停用。更多信息请参阅:firebase.google.com/support/faq#functions-runtime" 部署工作得很好。你可以在输出中看到。 【参考方案1】:node 8 运行时已弃用并将停止使用。按照警告消息中的link 获取更多信息。您需要migrate to node 10 eventually。至少,您需要确保在您的 package.json 中进行了设置:
"engines":
"node": "10"
,
【讨论】:
以上是关于Firebase CLI 部署警告:Node.js 8 运行时已弃用,将于 2020-12-05 停用的主要内容,如果未能解决你的问题,请参考以下文章
vue-cli v3 与 node.js firebase 函数,firebase 托管(错误:在函数源目录中找不到 npm 包)
错误 Firebase cli 云功能部署。 npm 错误!函数@ lint 脚本失败
为啥只有在部署到 Firebase 时才会在 Node.js 和 Angular 之间出现 CORS 错误?
在 Firebase 上部署使用 node.js 服务器的应用程序
我想使用 MongoDB 数据库在 firebase 上部署我的 Node.js 应用程序。但我得到的只是 firebase 欢迎页面,而不是我的网站