Я могу успешно выполнить свой код локально, подключившись к тому же пожарному хранилищу, но когда я помещаю свой код на сервер релизов и достигаю той же конечной точки, я получаю следующую ошибку:
{ Error: Cannot find module 'grpc'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/var/app/current/node_modules/google-gax/build/src/grpc.js:46:19)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/var/app/current/node_modules/google-gax/build/src/index.js:33:16)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32) code: 'MODULE_NOT_FOUND' }
package.json dependencies
включает:
"firebase-admin": "^6.4.0",
"firebase-functions": "2.1.0",
По моему index.js
:
var firestore = require("firebase-admin");
var serviceAccount = require("./firestore-config.json");
firestore.initializeApp({
credential: firestore.credential.cert(serviceAccount)
});
По моему main.js
:
Parse.Cloud.define("sendPush", function (request, response) {
var db = firestore.firestore();
db.collection("myCollection")
.doc(request.params.id)
.get()
.then(docSnapshot => {
// code that never hits
}).catch(error => {
console.log("there was some error...");
response.error("Unable to get mute settings for group b");
assert.ok(true);
});
Мой код попадает в блок catch, как только я развернусь. Есть идеи, что здесь происходит? Спасибо
Edit:
Ни на моем локальном экземпляре, ни на моем сервере не запущены Docker, Vagrant или любая другая виртуальная машина, установка npm выполняется как часть процесса развертывания на моей машине AWS