golang1.8以后yacc安装和使用

| 2018年11月7日

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
看完本文有收获?请分享给更多人
关注「黑光技术」,关注大数据+微服务