我有一个工作的Dockerfile,直到一天前,它似乎打破了。我没有对我的依赖项进行任何更改 - 但是我收到以下错误:
[91mnpm ERR! code ENOGIT
[0m
[91mnpm ERR! No git binary found in $PATH
npm ERR!
npm[0m
[91m ERR! Failed using git.
npm ERR! Please check if you have git installed and in your PATH.
[0m
[91m
npm ERR! A complete log of this run can be found in:
npm ERR! /root/.npm/_logs/2017-09-28T21_12_50_050Z-debug.log
[0m
Removing intermediate container be9d5bfe5521
The command '/bin/sh -c npm install' returned a non-zero code: 1
这是非常奇怪的,因为之前没有发生过。我还附加了我的Dockerfile。到目前为止我尝试过的东西是添加git(第三行),还试图导出路径。似乎没什么用。
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y git
FROM node:alpine
RUN npm install sails -g
#RUN npm install git -g
#RUN export PATH="$HOME/usr/bin/git:$PATH"
RUN mkdir -p /service/app
WORKDIR /service/app
COPY package.json /service/app
RUN npm install
COPY . /service/app
EXPOSE 80
CMD NODE_ENV=production sails lift
答案 0 :(得分:1)
这样做的一个原因可能是您在Dockerfile
中使用了缩小版节点:
FROM node:8-slim
我认为这不包括git,因为当我改为完整版时,错误就消失了:
FROM node:8.11.2
答案 1 :(得分:0)
尝试以下操作:
RUN apk update && \
apk add --update git && \
apk add --update openssh
docker容器中的git二进制文件在/usr/bin/git
可用