golang在1.8以后的tool工具中默认移除了yacc工具,如果要使用只能自己安装。
今天在测试代码中要用一下这个工具,突然发现没有,需要自己安装
首先这里下载代码:
http://github.com/golang/tools/cmd/goyacc/
然后编译,过程非常简单
go build goyacc root@ecee334078d1:/usr/share/go-1.10/src/cmd/goyacc# go build yacc.go root@ecee334078d1:/usr/share/go-1.10/src/cmd/goyacc# ls doc.go testdata yacc yacc.go
接下来寻找go的tool工具目录,我的方法是这样的。
先用whereis go来寻找go的安装目录,然后再找他的tool目录。
root@ecee334078d1:/usr/share# whereis go go: /usr/bin/go /usr/lib/go /usr/share/go root@ecee334078d1:/usr/share# ls /usr/lib/go-1.10/pkg/tool/ linux_amd64 root@ecee334078d1:/usr/share# ls /usr/lib/go-1.10/pkg/tool/linux_amd64/ addr2line api asm buildid cgo compile cover dist doc fix link nm objdump pack pprof test2json trace vet
找到之后直接拷贝过去,就可以使用了。
root@ecee334078d1:/usr/share/go-1.10/src/cmd/goyacc# cp yacc /usr/lib/go-1.10/pkg/tool/linux_amd64/ addr2line asm cgo cover doc link objdump pprof trace api buildid compile dist fix nm pack test2json vet root@ecee334078d1:/usr/share/go-1.10/src/cmd/goyacc# cp yacc /usr/lib/go-1.10/pkg/tool/linux_amd64/ root@ecee334078d1:/usr/share/go-1.10/src/cmd/goyacc# go tool yacc usage: yacc [-o output] [-v parsetable] input
感觉有意思?来鼓励一下!
