ошибка "не удалось загрузить общую библиотеку" 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