По причинам, в которые не стоит вдаваться, мне нужно обновить существующую облачную функцию Google, работающую под узлом 10, чтобы использовать локальный файл tgz в качестве одной из его зависимостей (генерируется с помощью npm pack
; работает локально). Когда я пытаюсь включить файл архива и обновленный package.json в мое развертывание облачной функции, я сталкиваюсь со следующей ошибкой:
ОШИБКА: (gcloud.functions.deploy) OperationError: code = 3, message = Build
ошибка: {"ошибка": {"canonicalCode": "INVALID_ARGUMENT",
"errorMessage": "npm_install
был вывод stderr: \ nnpm ERR! cb () никогда
называется! \ n \ nnpm ERR! Это ошибка самого npm. Пожалуйста, сообщите
эта ошибка в: \ nnpm ERR! https://npm.community\n\nnpm ОШИБКА!
полный журнал этого прогона находится в: \ nnpm ERR!
/builder/home/.npm/_logs/2019-04-08T16_01_08_142Z-debug.log\nnpm ERR!
код ELIFECYCLE \ nnpm ERR! errno 1 \ nnpm ERR! @ preinstall: npm
--prefix functions install
\ nnpm ERR! Статус выхода 1 \ nnpm ERR! \ nnpm ERR! Ошибка в сценарии @ preinstall. \ Nnpm ERR! Это, вероятно, нет
проблема с нпм. Вероятно, есть дополнительный вывод журнала
выше. \ n \ nnpm ERR! Полный журнал этого прогона можно найти в: \ nnpm
ERR!
/builder/home/.npm/_logs/2019-04-08T16_01_08_171Z-debug.log\n\nerror:
npm_install
возвращенный код: 1 "," errorType ":" InternalError ",
"errorId": "C9487FAD"}}
К сожалению, я не могу получить доступ к файлу журнала, указанному в сообщении об ошибке. Хотя я посмотрю, как подать билет в NPM.
Мне интересно, знает ли кто-нибудь способ обойти эту проблему или есть другая стратегия, которую я должен использовать при включении pack
d-зависимостей в облачную функцию.
Окружающая среда:
Узел v10.14.2
NPM 6.7.0
package.json:
{
...
"engines": {
"node": "~10.14.2",
"npm": "~6.7.0"
},
"dependencies": {
...
"foo": "file:foo.tgz"
"bar": "./bar.tgz" // I've also tried other variants
},
"private": true
}