Когда вы упаковываете код цепи Node, он не будет включать папку node_modules. Когда одноранговый узел создает код цепочки узлов, он использует контейнер построителя (nodeenv) и, по существу, запускает npm install
.
. Пакет grpc
использует собственный модуль и по умолчанию пытается извлечь предварительно собранный двоичный файл. Если он не может этого сделать, он попытается собрать собственный код из исходного кода. Ошибка, которую вы видите, состоит из двух частей:
- Невозможно загрузить готовый двоичный файл
- Невозможно загрузить Node.js заголовки, необходимые для сборки из источника
Мы посмотрим, сможем ли мы включить заголовки в изображение nodeenv
, но в то же время можно загрузить предварительно собранные двоичные файлы из вашего собственного зеркала.
Я предполагаю, что вы на самом деле размещаете другое необходимое Узловые модули в Artifactory также?
Вам нужно будет разместить готовый двоичный файл на внутреннем сервере, доступном из контейнера. Артефактория должна работать для этого. Вам нужно будет разместить node-v72-linux-x64-musl.tar.gz
на своем внутреннем сервере, и он должен быть доступен по адресу https://your_internal_server/grpc/v1.24.2/node-v72-linux-x64-musl.tar.gz
.
. В вашем файле .npmrc
вам необходимо добавить строку
grpc_node_binary_host_mirror=https://your_internal_server
, и тогда процесс установки должен загрузить его оттуда, а не пытаться получить его из publi c inte rnet.