Docker Compose结合Gulp - 本地gulp未找到

5
我正在尝试在 Docker 容器内使用 gulp。
我有以下 Dockerfile。
FROM golang:alpine
RUN apk --update add --no-cache git nodejs
RUN npm install --global gulp
ENV GOPATH=/go PATH=$PATH:/go/bin
VOLUME ["/go/src/github.com/me/sandbox", "/go/pkg","/go/bin"]
WORKDIR /go/src/github.com/me/sandbox
CMD ["gulp"]

我有以下的 docker-compose.yml

version: '2'
services:
service:
    build: ./service
    volumes:
        - ./service/src/:/go/src/github.com/me/sandbox

docker-compose build 构建成功,但当我运行 docker-compose up 时,出现以下错误信息

Recreating sandbox_service_1
Attaching to sandbox_service_1
service_1  | [22:03:40] Local gulp not found in /go/src/github.com/me/sandbox
service_1  | [22:03:40] Try running: npm install gulp

我已经尝试了几种不同的方法来尝试修复它。

  • 也尝试全局和本地安装gulp-cli
  • 尝试使用npm install gulp在本地安装gulp
  • 尝试将npm install --global gulp移到WORKDIR之后
  • 尝试不同的卷路径。

我的猜测是与卷有关,因为当我摆脱任何与卷有关的内容时,它就不会抱怨。

我的项目结构如下截图所示:

enter image description here


可能是为什么需要全局和本地安装gulp?的重复问题。 - Sven Schoenung
2个回答

5
这是对我有效的方法。
RUN npm install -g gulp
RUN npm link gulp

这个选项对我有用!本帖中列出的其他选项都没有起作用。 - Kbdavis07

3

您需要同时安装本地版本和全局版本的Gulp。

添加这一行代码应该可以解决您的问题。

RUN npm i gulp

2
安装gulp时在docker中出现了错误,请使用gulp-cli代替。npm ERR! code E404 npm ERR! 404 Not Found: natives@https://registry.npmjs.org/natives/-/natives-1.1.4.tgz - Bernardo Loureiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接