Как я могу развернуть облачную функцию Google, которая использует файл tgz в качестве зависимости? - PullRequest
0 голосов
/ 08 апреля 2019

По причинам, в которые не стоит вдаваться, мне нужно обновить существующую облачную функцию 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
}

1 Ответ

0 голосов
/ 09 июля 2019

Я уверен, что вы уже нашли решение, но для тех, кто получает ту же ошибку:

Не храните package-lock.json в папке functions , его не следует отправлять на сервер, где Cloud Functions устанавливает пакеты npm самостоятельно .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...