Ошибка развертывания Divio Cloud: ENOGIT git не установлен или отсутствует в PATH - PullRequest
1 голос
/ 13 мая 2019

Я обновил все свои надстройки и версию Python на панели управления Divio до рекомендуемых версий, и после этого я не могу развернуть свой проект.Сообщение об ошибке:

 ---> Running in fb3fc5000391
[91mbower bootstrap-sass-official#3.3.5           ENOGIT git is not installed or not in the PATH

Stack trace:
Error: git is not installed or not in the PATH
    at createError (/opt/nvm/versions/node/v6.10.1/lib/node_modules/bower/lib/util/createError.js:4:15)
    at GitHubResolver.GitResolver (/opt/nvm/versions/node/v6.10.1/lib/node_modules/bower/lib/core/resolvers/GitResolver.js:45:15)
    at GitHubResolver.GitRemoteResolver (/opt/nvm/versions/node/v6.10.1/lib/node_modules/bower/lib/core/resolvers/GitRemoteResolver.js:10:17)
    at new GitHubResolver (/opt/nvm/versions/node/v6.10.1/lib/node_modules/bower/lib/core/resolvers/GitHubResolver.js:13:23)
    at /opt/nvm/versions/node/v6.10.1/lib/node_modules/bower/lib/core/resolverFactory.js:20:16```

1 Ответ

1 голос
/ 13 мая 2019

Проблема, с которой вы сталкиваетесь, заключается в том, что при создании образа Docker и выполнении команд в Dockerfile что-то требует Git, но не может его найти.

Что необходимо установить

Вам необходимо установить Git, который вы можете сделать в Dockerfile с помощью:

RUN apt-get update && \
    apt-get install -y git

Где выполнить команду

Вам необходимо запустить ее before команда, которая требует Git.

Фактически, поскольку Git - это команда довольно низкого уровня, часто используемая в процессах установки, вы хотите установить ее как можно раньше, например, как тольковозможно после команды FROM, которая задает базовый образ.

См. Как установить системные пакеты в проект в документации Divio.

Зачем вам это нужноэто сейчас

Вы упоминаете, что обновили версию вашего проекта на Python.В проектах Divio Cloud это можно сделать через панель управления.Последние версии базовых проектов Divio Python включают уменьшенные базовые образы, которые не включают в себя все системные пакеты, которые были установлены ранее (среди них Git).

См. Также The Dockerfile который дает некоторые подробности того, как Dockerfile используется в проектах Divio.

...