GCP Secret Manager выбрасывает: аргумент «путь» должен иметь тип string - PullRequest
1 голос
/ 19 апреля 2020

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

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 Ответ

1 голос
/ 19 апреля 2020

Похоже, эта ошибка произошла из-за того, что библиотека работает в режиме browser , а не в режиме Node , что вынуждает ее избегать режима «отката» при попытке поиска пути gRP C неправильно. Решение заключается в том, что window находится в области действия, обманывая isBrowser logi c.

Root Причина

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

Fix

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

testEnvironment: 'node',
...