我已经开发这个应用程序相当长的时间了,在阅读了控制台关于firebase-functions
过时版本和我应该升级到最新版本的警告后,我终于决定更新。现在,即使一切似乎都正常工作,我无法在模拟器上测试时成功运行npm run build
,因为我收到了很多与node_modules
文件夹中的包相关的错误消息。
我正在运行本地模拟器,所有新代码在部署到生产环境之前都会在这里进行测试。这是这两个包在我的package.json
文件中更新前后的样子:
- 之前 *
"firebase-admin": "^9.8.0",
"firebase-functions": "^3.22.0",
- 之后 *
"firebase-admin": "^10.0.2",
"firebase-functions": "^4.0.0",
问题
更新后,我无法成功运行npm run build
,并且我得到了一堆与node_modules
中的包相关的错误。其中一些软件包是:
node_modules/@firebase/util/dist/
node_modules/@types/express-serve-static-core
node_modules/firebase-functions/lib/common
错误并不是那么冗长,而是这样的:
21 export declare type Extract<Part extends string> = Part extends `{${infer Param}=**}` ? Param : Part extends `{${infer Param}=*}` ? Param : Part extends `{${infer Param}}` ? Param : never;
我会附上一个截图与一些错误,我得到的。
What have I Already tried doing
*安装的firebase-functions
最新版本:在我的functions
目录中只更新了firebase-functions
和npm install --save firebase-functions@latest
。
- 这导致
functions
和firebase-admin
包为discussed on this question时的依赖项冲突
*安装的firebase-admin
最新版本:通过运行npm install --save firebase-admin@latest
和安装最新版本的firebase-functions
解决了依赖性问题。 - 这解决了冲突,但这是运行
npm run build
后开始出现问题的地方 - 我也得到了一堆新的错误,导致升级,但我解决了他们,一切似乎工作正常。
*删除node_modules
、package-lock.json
:为了正确地重新安装依赖项,删除了这两个文件并运行npm install
,但问题仍然存在。
*升级到特定版本的函数和管理员:当我在这个兔子洞里深深地潜水时,我注意到也许升级到一个特定的版本会有所帮助。所以我选择了firebase-admin@10.0.0
和firebase-functions@4.0.0
。但什么都没有。
那么,我在寻找什么?
我的工作流程如下:
- 编写新代码
- 运行
npm run build
查看是否一切正常,应用程序是否通过了linter测试 - 测试代码
- 推送代码
- ...
- 部署前的
npm run lint
(通过) - 展开
所以,对我来说,npm run build
告诉我一切都好,我可以继续编写代码。我真的不知道这是否有必要,但我一直在这样工作。它给我一种安全感。
所以我想知道为什么我不能运行npm run build
,是什么导致了所有这些与我无关的错误,以及我如何解决这个问题。
我还担心这会影响函数的部署,因为npm run build
没有通过,所以无法正确部署。
我的项目设置
***firebase-functions:**3.20.1
***firebase-tools:**11.16.1
***firebase-admin:**10.1.0
*语言: typescript
*节点版本:14.21.1(使用nvm)
1条答案
按热度按时间mbyulnm01#
问题可能是由于过时的Typescript版本。尝试将typescript升级到较新版本。
Update theses packages