При вызове приложения-функции Azure NodeJS выполняется поиск зависимостей в неправильном месте.
У меня есть конвейер Azure Function App, настроенный таким образом, что установка npm запускается после объединения PR с веткой, настроенной на передачу в слот. После развертывания при вызове функции возникает ошибка:
2019-05-27T23:49:44.996 [Error] Exception while executing function: Functions.FooWorker. mscorlib: One or more errors occurred. Error: ENOENT: no such file or directory, open 'D:\home\site\wwwroot\FooWorker\node_modules\adal-node\node_modules\underscore\underscore.js'
Если я установлю подчеркивание как подчиненную зависимость для adal-node, это произойдет несколько раз для нескольких различных зависимостей пакетов npm. В прошлом это решалось путем ручной установки этих зависимостей, однако я чувствую, что это не лучшее решение, и хотел бы автоматизировать этот процесс и уменьшить дублирование пакетов.
Мне трудно понять, почему это происходит, так как 1) какая-либо субзависимость, на которую жаловались, уже установлена на корневом уровне node_modules, и после проверки выясняется, что зависимость корневого уровня должна удовлетворять требованию пакета npm, но по какой-то причине он ищет подзависимость в своем собственном каталоге / node_modules 2) если код вызывается из консоли KUDU, то все работает нормально, эта ошибка не отображается.
Если у кого-то есть понимание этого, это очень ценится, спасибо