我试图在WSL实例中用Ubuntu构建一个项目。我所使用的命令来自一个Chip堆栈模拟器项目:Chip堆栈模拟器进行干净的构建。出于某种原因,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修饰符-Compose.yml代码:
services:
chirpstack-simulator:
build:
context: .
dockerfile: Dockerfile-devel
command: make
volumes:
- ./:/chirpstack-simulator和Docker文件:
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。
发布于 2020-09-18 05:58:10
我至少要将make命令替换为ls -larth,以确保docker-compose run ls -alrth确实在其执行上下文中显示Makefile。
如果没有,那么任何make命令都会在您提到的错误消息中失败。
https://stackoverflow.com/questions/63886092
复制相似问题