我正在尝试在 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 make
sudo apt-get install make
然后sudo apt-get install --reinstall build-essentials
它仍然给出错误。如果有助于缩小范围,Ubuntu 的版本是 16.04 LTS
最佳答案
我至少会替换 make
由 ls -larth
指挥,只是为了确保 docker-compose run ls -alrth
确实显示 Makefile
在其执行上下文中。
如果没有,那么任何 make
命令会因您提到的错误消息而失败。
关于docker - make 命令在 Windows WSL Ubuntu 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63886092/