无法在 Mac 上使用 Makefile。无论是制表符还是 4 个空格,错误都是:“*** 缺少分隔符。停止。”

无法在 Mac 上使用 Makefile。无论是制表符还是 4 个空格,错误都是:“*** 缺少分隔符。停止。”

我使用的是 M1 驱动的 Mac。我试图在项目中使用 makefile,但令我惊讶的是,无论我做什么,它最终都会出现缺少分隔符的错误。无论如何,下面的 Makefile 都无法运行。我使用了 textedit、vscode 和 IntelliJ。结果相同。我甚至在网上挑选了一个教程,复制粘贴了它们的 makefile 内容(hello 示例)https://tutorialedge.net/golang/makefiles-for-go-developers/希望我是那个不熟悉语法的人。

hello:
echo "Something"

#build:
#.   go build -o bin/apigateway
#run: build
#.   ./bin/apigateway
#test:
#.   go test -v ./..

我检查了版本,以下是回复

make --version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

我其实真的很困惑。我可能错过了什么?

答案1

makefile 的基本语法是:

target: dependency
<tab>command

必须是制表符,而不是四个空格或类似的字符。有些编辑器可能会将制表符转换为空格。这些编辑器对于创建 Makefile 毫无用处。也可能是剪切粘贴确实放入了空格。

尝试:

cat > Makefile
hello:
<tab>echo something
<control-D>
make hello

相关内容