Node.js Firebase部署功能与Sharp库在Google云构建中失败

Node.js Firebase部署功能与Sharp库在Google云构建中失败,node.js,firebase,google-cloud-functions,google-cloud-build,sharp,Node.js,Firebase,Google Cloud Functions,Google Cloud Build,Sharp,从Bitbucket管道迁移到Google云构建后,Firebase部署失败。安装程序已在Bitbucket管道和本地成功部署 除了下面的错误,没有给出进一步的解释。我对代码的某些部分进行了注释,以了解“const sharp=require('sharp')”是导致构建失败的一个命令 但“firebase部署”与“require('sharp')一起失败并没有明显的原因,我必须找到解决这个问题的方法 Firebase在Google云构建中部署输出 Step #5: === Deploying

从Bitbucket管道迁移到Google云构建后,Firebase部署失败。安装程序已在Bitbucket管道和本地成功部署

除了下面的错误,没有给出进一步的解释。我对代码的某些部分进行了注释,以了解“const sharp=require('sharp')”是导致构建失败的一个命令

但“firebase部署”与“require('sharp')一起失败并没有明显的原因,我必须找到解决这个问题的方法

Firebase在Google云构建中部署输出

Step #5: === Deploying to 'werkout-staging-b1483'...
Step #5: 
Step #5: i  deploying functions
Step #5: ✔  functions: Finished running predeploy script.
Step #5: i  functions: ensuring necessary APIs are enabled...
Step #5: ✔  functions: all necessary APIs are enabled
Step #5: i  functions: preparing functions/cloud_functions directory for uploading...
Step #5: 
Step #5: Error: There was an unknown problem while trying to parse function triggers. Please ensure you are using Node.js v6 or greater.
Finished Step #5
ERROR
ERROR: build step 5 "gcr.io/werkout-staging-b1483/firebase" failed: exit status 2
Dockerfile

FROM cypress/base:10.15.3

#CMD ["node"]

RUN npm install -g firebase-tools@^7.0.0
ENTRYPOINT ["/usr/local/bin/firebase"]


有什么想法吗?

我这次真的想出来了

我运行了npmci来构建云函数,并将它们部署到firebase部署到云上。问题是,正如您在上面的docker文件中所看到的,gcr.io/$PROJECT_ID/firebase映像是使用节点10.15.3构建的,而gcr.io/cloud-builders/npm使用的是节点8。唯一挑剔的npm软件包是尖锐的,因此无法构建

最糟糕的是,firebase对此非常保密,除了纯粹的猜测,我没有任何线索可以解决

- name: 'gcr.io/cloud-builders/npm'
  args: [ 'run', 'build' ]

- name: 'gcr.io/$PROJECT_ID/firebase'
  args: [ 'firebase', 'deploy' ]
解决方案:

- name: 'gcr.io/cloud-builders/npm:node-10.10.0'
  args: [ 'run', 'build' ]

- name: 'gcr.io/$PROJECT_ID/firebase'
  args: [ 'firebase', 'deploy' ]

这应该与cloud functions package.json中指定的节点引擎的版本相匹配。

可能是重复的,我读过这个问题。我的错误没有那么详细,只发生在云构建上。另外,我知道节点版本没有问题,因为我在Bitbucket管道上使用了相同的docker映像。在包json中设置节点:“10”,如这里所述,并真正使用节点10工作“解决方案”部分中提到的数据在哪里设置?这是云构建yaml文件云构建yaml文件在哪里?