В этот раз я понял это по-настоящему.
Я запустил npm ci для создания облачных функций и их развертывания с помощью firebase для развертывания их в облаке. Проблема заключалась в том, что, как вы видите в файле докера выше, образ gcr.io/$PROJECT_ID/firebase был собран с узла 10.15.3, в то время как gcr.io/cloud-builders/npm использовал узел 8. Единственные пакеты npm, которые были Достаточно требователен был Sharp, и поэтому его не удалось построить.
Хуже всего то, что пожарная база очень скрытно относилась к этому, и я не имею возможности заняться этим, кроме чистой спекуляции.
- 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' ]
И это должно соответствовать версии механизма узла, указанного в облачных функциях package.json.