【发布时间】:2020-04-18 04:31:30
【问题描述】:
我几天来一直在努力将 android 用户订阅实现到 android 中。我正在使用 google dev 教程进行 Java 应用内购买:
https://github.com/android/play-billing-samples/tree/master/ClassyTaxiJava
在最后一部分,我需要部署后端服务器,如下所述:
https://github.com/android/play-billing-samples/tree/master/ClassyTaxiServer
我做了什么:
- 将服务器文件和文件夹in the tutorial 克隆到我的电脑中
- 打开 CMD 并定向到文件夹
- 通过
firebase login登录firebase --> OK - 通过
firebase use -add添加了firebase项目-->好的 - 发起了一个函数命令
firebase functions:config:set app.package_name="com.mypackage.app"--> OK -
deploy firebase--> 错误
错误如下:
=== Deploying to 'api-2341234***'...
i deploying functions, hosting
Running command: npm --prefix "$RESOURCE_DIR" run lint
npm ERR! code ENOENT
npm ERR! syscall open
npm ERR! path C:\Users\vafa\Firebase\server\package.json
npm ERR! errno -4058
npm ERR! enoent ENOENT: no such file or directory, open 'C:\Users\vafa\Firebase\server\package.json'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\vafa\AppData\Roaming\npm-cache\_logs\2020-04-18T22_21_16_430Z-debug.log
Error: functions predeploy error: Command terminated with non-zero exit code4294963238
我注意到部署后,在项目文件夹中创建了一个“服务器”文件夹,服务器文件夹中没有任何内容。我尝试将 package.json 文件放入其中并再次部署,但它不起作用。
*** 它在 git 中也被提及为 issue here 并且有人回复:
注意事项:在 firebase.json 中, https://github.com/android/play-billing-samples/blob/master/ClassyTaxiServer/firebase.json 没有“服务器”或“网络”目录,firebase 无法部署 这些文件夹的功能和托管。
更改文件夹结构后出错:
Error: spawn npm --prefix "%RESOURCE_DIR%" run lint ENOENT
at notFoundError (C:\Users\vafaeene\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:6:26)
at verifyENOENT (C:\Users\vafaeene\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:40:16)
at ChildProcess.cp.emit (C:\Users\vafaeene\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:27:25)
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess.cp.emit (C:\Users\vafaeene\AppData\Roaming\npm\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:30:37)
at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) {
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn npm --prefix "%RESOURCE_DIR%" run lint',
path: 'npm --prefix "%RESOURCE_DIR%" run lint',
spawnargs: []
}
错误:函数预部署错误:命令以非零退出代码终止
【问题讨论】:
-
通读文档。不要打和审判。它会为你节省很多时间。我很欣赏你想要做的事情,但首先要获得知识。 => firebase.google.com/docs/admin/setup
-
我无意冒犯你兄弟,但你应该学会初始化 Firebase Admin SDK。这就是该链接所包含的内容。
-
@example 这里没有尝试和错误。你甚至读过你的建议吗?是的,我读过它。感谢您的建议。
-
让我向您展示一些我目前已部署到 firebase 函数的 firebase admin sdk 代码
-
@example 它没有被视为冒犯。这是对我的建议,我很感激。您发送的链接没有提示我应该如何处理这些文件或如何将这些文件连接到我的 Firebase。我尝试了
firebase init并添加了功能,但我想不通。这些是我电脑文件夹中已经存在的服务器文件。我必须将它们链接到火力基地。
标签: android node.js firebase npm in-app-subscription