Диспетчер секретов GCP выдает: аргумент "путь" должен иметь строковый тип.

Я работаю над использованием GCP Secrets Manager из Node.js 8.x (я знаю, он древний, но это новейшая среда выполнения узла GA в облачных функциях). Однако, когда я запускаю их пример, он продолжает выдавать ошибку gRPC из этой строки:

TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type object

Строка кода, которую я пытаюсь проверить:

const secretClient = new SecretManagerServiceClient();

Я получаю ту же ошибку, если я работаю на Node 8.x или Node 10.x, и если я использую последнюю версию секретов lib (3.0.0) или устаревшую версию для Node 8.x (1.2.1)

1 ответ

Похоже, эта ошибка возникла из-за того, что в библиотеке запущен браузер, а не режим узла, что заставляет ее избегать "резервного" режима, пытаясь неправильно найти путь gRPC. Решение потому чтоwindow входит в сферу охвата, обманывая isBrowserлогика.

Основная причина

Основная причина в том, что jestиспользовался для тестирования, которое по умолчанию выполняется вjsDomрежим, вставив глобальные объекты вродеwindow.

Исправить

Добавьте следующее в свой jest.config.json файл.

testEnvironment: 'node',
Другие вопросы по тегам