docker - make 命令在 Windows WSL Ubuntu 中不起作用

标签 docker ubuntu makefile docker-compose windows-subsystem-for-linux

我正在尝试在 WSL 实例中的 Ubuntu 中构建一个项目。我使用的命令来自一个 chirpstack-simulator 项目:docker-compose run --rm chirpstack-simulator make clean build。
由于某种原因,make 拒绝正常工作,或者根本拒绝工作。
我不断收到错误消息:“make: *** No rule to make target ‘clean’. Stop.”
这是 Makefile 代码:

VERSION := $(shell git describe --always |sed -e "s/^v//")

build:
    @echo "Compiling source"
    @mkdir -p build
    go build $(GO_EXTRA_BUILD_ARGS) -ldflags "-s -w -X main.version=$(VERSION)" -o build/chirpstack-simulator cmd/chirpstack-simulator/main.go

clean:
    @echo "Cleaning up workspace"
    @rm -rf build
    @rm -rf dist
    @rm -rf docs/public
docker-compose.yml 代码:
services:
  chirpstack-simulator:
    build:
      context: .
      dockerfile: Dockerfile-devel
    command: make
    volumes:
      - ./:/chirpstack-simulator
以及 Docker-devel 文件:
FROM golang:1.13-alpine

ENV PROJECT_PATH=/chirpstack-simulator
ENV PATH=$PATH:$PROJECT_PATH/build
ENV CGO_ENABLED=0
ENV GO_EXTRA_BUILD_ARGS="-a -installsuffix TDM-GCC-64"

RUN apk add --no-cache ca-certificates tzdata make git bash

RUN mkdir -p $PROJECT_PATH
COPY . $PROJECT_PATH
WORKDIR $PROJECT_PATH
如您所见,构建和清理都已定义。有没有人遇到过这个问题?
编辑:
这是我正在尝试构建的完整项目
https://github.com/brocaar/chirpstack-simulator
更多详情:
我试过做sudo apt-get remove makesudo apt-get install make然后sudo apt-get install --reinstall build-essentials它仍然给出错误。
如果有助于缩小范围,Ubuntu 的版本是 16.04 LTS

最佳答案

我至少会替换 makels -larth 指挥,只是为了确保 docker-compose run ls -alrth 确实显示 Makefile在其执行上下文中。
如果没有,那么任何 make命令会因您提到的错误消息而失败。

关于docker - make 命令在 Windows WSL Ubuntu 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63886092/

相关文章:

selenium - 用于Firefox的Docker设置语言的Selenium Grid

docker - 一定时间后 traefik 502 坏网关

arrays - 在 ./parse_rss.pl 第 27 行的字符串 eq 中使用未初始化的值

c++ - 我在链接 SDL 库时遇到问题

linux - Docker Compose - 删除悬挂服务

docker - 从正在运行的容器内将文件复制到 docker 容器

ruby-on-rails - 云上的中间人服务器和 apache

gcc - 如何在 Ubuntu 上使用 DSFML2 和 D2 解决链接器错误?

makefile - Fortran Makefile 中目标文件 "*.o"的自动排序

java - 在 autoconf 或 makefile 中禁用版本后缀/扩展