Firebase 函数预部署错误:命令以非零退出代码终止
Posted
技术标签:
【中文标题】Firebase 函数预部署错误:命令以非零退出代码终止【英文标题】:Firebase function predeploy error :Command terminated with non-zero exit code1 【发布时间】:2020-04-07 18:11:53 【问题描述】:我试着跑
firebase deploy --only functions
在我的 ionic 项目中出现此错误消息
C:\Program Files\Git\usr\local>firebase deploy --only functions
=== Deploying to 'testing-ed384'...
i deploying functions
Running command: npm --prefix "%RESOURCE_DIR%" run lint
npm ERR! missing script: lint
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\CJ\AppData\Roaming\npm-cache\_logs\2019-12-13T14_26_34_575Z-debug.log
events.js:187
throw er; // Unhandled 'error' event
^
Error: spawn npm --prefix "C:\Program Files\Git\usr\local\functions" run lint ENOENT
at notFoundError (C:\Program Files\Git\usr\local\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:6:26)
at verifyENOENT (C:\Program Files\Git\usr\local\node_modules\firebase-tools\node_modules\cross-env\node_modules\cross-spawn\lib\enoent.js:40:16)
at ChildProcess.cp.emit (C:\Program Files\Git\usr\local\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:272:12)
Emitted 'error' event on ChildProcess instance at:
at ChildProcess.cp.emit (C:\Program Files\Git\usr\local\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:272:12)
code: 'ENOENT',
errno: 'ENOENT',
syscall: 'spawn npm --prefix "C:\\Program Files\\Git\\usr\\local\\functions" run lint',
path: 'npm --prefix "C:\\Program Files\\Git\\usr\\local\\functions" run lint',
spawnargs: []
Error: functions predeploy error: Command terminated with non-zero exit code1
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:这可能是因为:
您没有安装 eslint。如果您在运行firebase init functions
时在提示 Do you want to use ESLint to catch probable bugs and enforce style?
时回答“否”和/或在提示安装依赖项时回答“否”,则可能会发生这种情况。如果是这种情况,请重新初始化环境以安装它。
您的 package.js 文件中缺少 eslint 包。要检查/修复此问题,请打开它并查看您是否有以下内容:
"devDependencies":
"eslint": "^4.12.0",
"eslint-plugin-promise": "^3.6.0"
,
【讨论】:
【参考方案2】:我通过重新启动 firebase init 解决了这个问题。然后不选择使用 eslint。之后,firebase 部署正常运行。
【讨论】:
以上是关于Firebase 函数预部署错误:命令以非零退出代码终止的主要内容,如果未能解决你的问题,请参考以下文章
命令 PhaseScriptExecution 以非零退出代码失败 - 使用 CocoaPods
命令 PhaseScriptExecution 以非零退出代码 iOS 失败