Когда вы устанавливаете зависимости с npm install
(или же yarn
локально, любые нативные (c ++) библиотеки внутри автоматически компилируются.
Однако после развертывания в Cloud Functions вы можете получить похожую ошибку:
Error: *.so: cannot open shared object file
Итак, как их можно использовать в облачной функции?
Я думаю, что этот вопрос относится к любым библиотекам C ++ & зависимости узла, но я могу показать вам мой конкретный вариант использования.
Я пытаюсь запустить tenorflow.js в облачной функции, но tfjs-node
пакет включает в себя общую библиотеку libtensorflow.so
Установка локально с помощью yarn
автоматически запускается node-gyp
скрипты и компилирует все необходимое.
Однако после развертывания функции GCP Cloud и ее вызова возникает ошибка:
Ошибка: libtensorflow.so: невозможно открыть общий объектный файл: нет такого файла или каталога
Полные журналы размещены в этот пастин.
И вопрос здесь снова: Как скомпилировать библиотеку и устранить ошибку?
Задача ещё не решена.
Других решений пока нет …