我正在尝试在WSL实例中的Ubuntu中构建项目。我正在使用的命令来自chirpstack-simulator项目:docker-compose run --rm chirpstack-simulator make clean build。 由于某种原因,make拒绝正常工作,或者根本拒绝工作。
我不断收到错误消息:“ make:***没有使目标“干净”的规则。停止。”
以下是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
如您所见,build和clean均已定义。有人遇到过这个问题吗?
编辑: 这是我要构建的完整项目 https://github.com/brocaar/chirpstack-simulator
以及更多详细信息:
我尝试做
sudo apt-get remove make
sudo apt-get install make
然后
sudo apt-get install --reinstall build-essentials
它仍然在显示错误。
Ubuntu的版本为16.04 LTS,如果它有助于缩小范围
答案 0 :(得分:0)
我至少将make
命令替换为ls -larth
,以确保docker-compose run ls -alrth
确实在其执行上下文中显示Makefile
。
如果没有,则任何make
命令都会失败,并显示您提到的错误消息。