gpt4 book ai didi

Firebase 函数本地 "file:"依赖项

转载 作者:行者123 更新时间:2023-12-04 20:27:50 25 4
gpt4 key购买 nike

我正在使用 react-crud 共享 作为 的依赖项 react -crud-后端使用 Firebase 云函数 .

react -crud-后端我有以下内容:

{
"name": "react-crud-backend",
"description": "Cloud Functions for Firebase",
"scripts": {
...
},
"dependencies": {
...
"react-crud-shared": "file:../shared",
...
},
"engines": {
"node": "8"
},
"private": true,
"devDependencies": {
...
}
}

react-crud 共享 我有以下内容:
{
"name": "react-crud-shared",
"version": "0.0.1",
"description": "",
"main": "src/index.js",
"private": true,
"dependencies": {
"lodash": "^4.17.11"
}
}

它在开发中运行良好:“firebase serve --only 功能”,但在部署时抛出错误:
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module 'react-crud-shared'

有没有办法让它工作而不必将私有(private)存储库发布到 NPM?

谢谢

最佳答案

编辑:我找到了一个我更喜欢的解决方案。我在这里评论了这个 github 问题:https://github.com/firebase/firebase-tools/issues/968#issuecomment-460323113 .基本上,我有一个运行 npm pack 的预安装脚本在我使用firebase deploy之前复制functions目录下的包。
FWIW我有完全相同的问题。不完全确定我将如何解决它,但文档中的这些信息很有帮助(https://firebase.google.com/docs/functions/handle-dependencies):

To specify a dependency for your function, add it to your package.json file. If you are deploying through the gcloud command-line tool, you can also pre-install dependencies and deploy them alongside your function. By default, the node_modules folder is added to your .gcloudignore file and is not uploaded as part of your deployment. To deploy pre-installed dependencies, remove node_modules/ from the .gcloudignore file before deploying your function.

Note: Deploying pre-installed dependencies works with gcloud only; the Firebase CLI ignores the local node_modules folder.


因此,您似乎可以先在本地运行“npm install”,然后使用 gcloud 进行部署,因为它会复制您的 node_modules 目录,其中包含您的对等依赖项。
不过,我不得不从 firebase CLI 切换到 gcloud 进行部署,这确实有点臭。啊。

关于Firebase 函数本地 "file:"依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54458795/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com