ошибка "не удалось загрузить общую библиотеку" api google vms

Я занимаюсь интеграцией с google api для управления vms, используемый код:

      const {google} = require('googleapis');
const compute = google.compute('v1');
    async function listVMs() {
            const authClient = await google.auth.getClient({
              scopes: [
                'https://www.googleapis.com/auth/cloud-platform',
                'https://www.googleapis.com/auth/compute',
                'https://www.googleapis.com/auth/compute.readonly',
              ],
            });
          
            const projectId = await google.auth.getProjectId();
            const result = await compute.instances.aggregatedList({
              auth: authClient,
              project: projectId,
            });
            const vms = result.data;
            console.log('VMs:', vms);
          }
          listVMs();

ошибка, которую я получаю:

узел: internal /crypto/ sig: 131const ret = this[kHandle].sign(данные, формат, тип, кодовая фраза, rsaPadding,^

Ошибка: ошибка: 25078067: подпрограммы поддержки DSO: win32_load: не удалось загрузить общую библиотеку в Sign.sign (узел: внутренний /crypto/ sig: 131:29) в Object.sign (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ jwa \ index.js:152:45) в Object.jwsSign [как знак] (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ jws \ lib \ sign-stream.js:32:24) в GoogleToken.requestToken (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ gtoken \ build \ src \ index.js : 225:31) в GoogleToken.getTokenAsyncInner (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ gtoken \ build \ src \ index.js:163:21) в GoogleToken.getTokenAsync (C:\Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ gtoken \ build \ src \ index.js:142:55) в GoogleToken.getToken (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Веб-портал Bright Cloud \ backend \ node_modules \ gtoken \ build \ src \ index.js:94:21) по адресу JWT.refreshTokenNoCache (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ google -auth-library \ build \ src \ auth \ jwtclient.js:171:36) в JWT.refreshToken (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ google-auth-library \ build \ src \ auth \ oauth2client.js:152:24) в JWT.getRequestMetadataAsync (C: \ Users \ Mauricio Spagnol \ workspace \ workBrightCloud \ Bright Cloud Web Portal \ backend \ node_modules \ google-auth-library \ build \ src \ auth \ oauth2client.js:284:28) {opensslErrorStack: ['ошибка: 0E076071: подпрограммы файла конфигурации: module_run: неизвестное имя модуля ',' ошибка: 0E07506E: подпрограммы файла конфигурации: module_load_dso: ошибка загрузки dso ',' ошибка: 25070067: подпрограммы поддержки DSO: DSO_load: не удалось загрузить разделяемую библиотеку '], библиотека: 'Подпрограммы поддержки DSO', функция: 'win32_load', причина: 'не удалось загрузить общую библиотеку', код: 'ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY'} ошибка Команда завершилась неудачно с кодом выхода 1.info Посетитьне удалось загрузить разделяемую библиотеку », код:« ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY »} ошибка Команда завершилась неудачно с кодом выхода 1.info Посетитьне удалось загрузить общую библиотеку ', код:' ERR_OSSL_DSO_COULD_NOT_LOAD_THE_SHARED_LIBRARY '} ошибка Команда завершилась неудачно с кодом выхода 1.info Посетитьhttps://yarnpkg.com/en/docs/cli/run для документации по этой команде.

2 ответа

В моем случае проблема связана с внутренним криптопакетом nodejs в новой версии Ubuntu 22.04 LTS.

Я нашел следующее решение: получить расположение файла:openssl version -d

закомментировать строкиproviders = provider_sectinв файлеopenssl.cnfи перезапустить приложение

решение состоит в том, чтобы добавить сертификат в проект для запуска как https

Другие вопросы по тегам