В общем
Когда вы устанавливаете зависимости с 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: невозможно открыть общий объектный файл: такого файла или каталога нет
Полные журналы хранятся в этой вставке .
И снова возникает вопрос: Как скомпилировать библиотеку и устранить ошибку?