Divio Cloud部署错误:ENOGIT git未安装或未在PATH中

时间:2019-05-13 10:10:16

标签: python git docker divio

我将Divio Control仪表板上的所有附加组件和Python版本更新为推荐版本,此后我无法部署项目。错误消息是:

 ---> 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 个答案:

答案 0 :(得分:1)

您看到的问题是,当构建Docker映像并执行Dockerfile中的命令时,有些东西需要Git,但找不到它。

您需要安装的内容

您需要安装Git,您可以在Dockerfile中使用以下命令进行安装:

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

在何处运行命令

您需要在需要Git的命令之前 运行它。

实际上,由于Git是一个非常低级的命令,通常在安装过程中使用,因此您希望尽早安装它,例如,在指定基本映像的FROM命令之后尽快安装它。

请参见Divio文档中的How to install system packages in a project

为什么现在需要这样做

您提到您更新了项目的Python版本。在Divio Cloud项目中,这可以通过“控制面板”完成。 Divio Python基础项目的最新版本包括精简的基础映像,这些映像不包括以前安装的所有系统软件包(其中包括Git)。

另请参阅The Dockerfile,其中详细介绍了Dockerfile在Divio Projects中的使用方式。