#javascript #node.js #firebase #google-cloud-functions
#javascript #node.js #firebase #google-cloud-функции
Вопрос:
Я пытаюсь создать клиента stripe, когда пользователь создает учетную запись в моем приложении для IOS. Когда я запускаю команду firebase deploy --only functions
, все мои функции выходят из строя. но когда я удаляю
const logging = require('@google-cloud/logging');
const stripe = require('stripe')(functions.config().stripe.token);
const currency = functions.config().stripe.currency || 'USD';
exports.createStripeCustomer = functions.auth.user().onCreate((user) => {
return stripe.customers.create({
email: user.email,
}).then((customer) => {
return admin.database().ref(`/stripe_customers/${user.uid}/customer_id`).set(customer.id);
});
});
Я получаю сообщение об ошибке
Сбой функции при загрузке пользовательского кода. Сообщение об ошибке: Ошибка: пожалуйста, просмотрите журналы ваших функций, чтобы увидеть причину ошибки: https://cloud.google.com/functions/docs/monitoring/logging#viewing_logs
После просмотра моего кода я сузил его до этих строк. Когда я удаляю три const, я получаю ту же ошибку. Если я удалю экспорт и сохраню const, то то же самое. Мои функции запускаются только тогда, когда я удаляю все это. Есть ли что-то, чего мне не хватает? Я видел похожие вопросы, и ответы здесь напоминали код, который у меня есть, поэтому я в замешательстве. Я проверяю свои журналы, и это не является описательным, это просто повторяет одно и то же сообщение.
Сообщения журнала, которые я получаю в функциях firebase, являются,
Подробная трассировка стека: Ошибка: не удается найти модуль «@google-cloud / logging»
Комментарии:
1. Что это за ошибка в журналах функций, на которую ссылается сообщение здесь? Пожалуйста, отредактируйте вопрос и скопируйте в него эти сообщения.
2. @DougStevenson они вообще не обязательны, они просто повторяют сообщение в терминале.
3. Пожалуйста, все же отредактируйте вопрос, чтобы показать все соответствующие сообщения журнала, сгенерированные при запуске этого кода.
4. @DougStevenson Я обновил исходный вопрос
5. И переход по указанной ссылке, чтобы узнать, как проверять журналы, не помог?
Ответ №1:
Если вы хотите использовать модуль, вы должны сначала установить его перед развертыванием. Из вашей папки functions, где существует исходный package.json:
npm install @google-cloud/logging
Комментарии:
1. Спасибо за этот ответ, это может быть решением моего вопроса об ответе, но я получаю новую ошибку, которую я опубликовал в своем первоначальном вопросе.
2. Если у вас возникли новые проблемы после первой, вы должны опубликовать их как новые вопросы. Переполнение стека не предназначено для последовательных проблем. Stack Overflow также имеет ограничение в один вопрос или проблему на сообщение, чтобы лучше помогать другим находить решения с помощью веб-поиска.
3. Моя проблема все время заключалась в том, что я не установил @google-cloud / logging. После установки этого в моей папке функций он скомпилировался и успешно запустился. спасибо за ясность.