TypeError:无法读取Geolib.isDecimal处未定义的属性'toString'

我有一个使用Firebase云端function的推送通知系统,最近我注意到推送通知不再来了(他们在过去的几个月里一直在工作)。 当我进入日志我看到

TypeError: Cannot read property 'toString' of undefined at Geolib.isDecimal (/user_code/node_modules/geolib/dist/geolib.js:1326:26) at Geolib.useDecimal (/user_code/node_modules/geolib/dist/geolib.js:1241:22) at Geolib.coords (/user_code/node_modules/geolib/dist/geolib.js:179:85) at Geolib.getDistance (/user_code/node_modules/geolib/dist/geolib.js:247:26) at userValue (/user_code/index.js:104:34) at /user_code/index.js:94:4 at /user_code/node_modules/firebase-admin/lib/database/database.js:114:356 at Xb.h.ha (/user_code/node_modules/firebase-admin/lib/database/database.js:50:275) at Xb.h.ha (/user_code/node_modules/firebase-admin/lib/database/database.js:50:268) at Xb.h.ha (/user_code/node_modules/firebase-admin/lib/database/database.js:50:310) 

我没有改变任何代码,并重新下载Geolib,但仍然不会改变,任何帮助将不胜感激。

我的代码:

  exports.postMade = functions.database.ref('/PostData/post/{pushId}').onWrite(event => { console.log('Someone made a post'); var valueObject = event.data.val(); console.log('the data in valueObject'+ valueObject) return admin.database().ref('Users').once('value').then(snapshot => { snapshot.forEach(function(child){ var values = child.val(); console.log('the values inside of value'+ values) userValue(values.userLat,values.userLong,values.radiusDistance,values.token,valueObject.lat,valueObject.long,valueObject.userUid,valueObject.text) }) }); }); function userValue(lat,long,radiusDistance,token,postLat,postLong,postUser,postText){ var unconvertedDistance = geolib.getDistance({latitude: lat, longitude: long}, {latitude: postLat, longitude: postLong}); var convertedDistance = geolib.convertUnit('mi',unconvertedDistance, 0) console.log('the values of both unconvertedDistance and convertedDistance'+ unconvertedDistance,+ convertedDistance) if (convertedDistance <= radiusDistance){ const payload = { notification: { title: "Someone posted near you!", body: postText, badge: "1", sound: "default" }, }; const options = { priority: "high", timeToLive: 60 * 60 * 24 }; return admin.messaging().sendToDevice(token, payload, options); }; }; 

这是geoLib软件包的一个已知问题 ,自2016年7月以来即将发布