我尝试使用 make
安装 go 软件包,但它返回以下内容:
dan@dan-netbook:~/GoMySQL$ make
Makefile:1: :/home/dan/.go/go/src/Make.inc: No such file or directory
Makefile:17: :/home/dan/.go/go/src/Make.pkg: No such file or directory
make: *** No rule to make target `:/home/dan/.go/go/src/Make.pkg'. Stop.
但是如果我运行ls
,丢失的文件就会出现:
dan@dan-netbook:~/GoMySQL$ ls /home/dan/.go/go/src/
all.bash env.bash make.bash Make.common quietgcc.bash
all-qemu.bash lib9 Make.ccmd Make.inc run.bash
clean.bash libbio Make.clib Make.pkg sudo.bash
cmd libmach Make.cmd pkg version.bash
这是为什么?
编辑: Makefile 是:
include $(GOROOT)/src/Make.inc
TARG=mysql
GOFILES=mysql.go\
types.go\
const.go\
error.go\
password.go\
reader.go\
writer.go\
packet.go\
convert.go\
handler.go\
result.go\
statement.go
include $(GOROOT)/src/Make.pkg
最佳答案
在此错误消息中:
Makefile:1: :/home/dan/.go/go/src/Make.inc: No such file or directory
^
我对指示的冒号感到有点惊讶。
我们需要看看Makefile中GOROOT设置了什么,这不太容易。我对构建 go 包不太了解,但是从命令行尝试:
echo $GOROOT
并报告打印的内容。
然后尝试更改 Makefile。在其开头添加:
foobar:
echo $(GOROOT)
其中回显行必须使用制表符缩进,而不是空格,并告诉我们会产生什么结果。
关于linux - make 找不到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6004080/