go build和go install的区别
答案:2 悬赏:30 手机版
解决时间 2021-03-15 04:56
- 提问者网友:雾里闻花香
- 2021-03-14 17:53
go build和go install的区别
最佳答案
- 五星知识达人网友:迷人又混蛋
- 2021-03-14 18:29
go install/build都是用来编译包和其依赖的包,不同的是
go install一般生成静态库文件放在$GOPATH/pkg目录下,文件扩展名a,如果为main包,则会在$GOPATH/bin 生成一个可执行的二进制文件。
go build好像只对main包有效,在当前目录编译生成一个可执行的二进制文件(依赖包生成的静态库文件放在$GOPATH/pkg)。
go build:去建造,在数据库命令中,是建立一个新的数据构。
go install:去安装,在数据库命令中,是从其它数据源将数据库安装到本机上。
你可以试试把$GOPATH下的pkg和bin目录清空:
1.使用go build 编译非main包不生效(暂时没实验编译main包,并且main包里面有其他依赖),编译main包OK
2.使用go install的时候报错,go install runtime: open /usr/lib/go/pkg/linux_386/runtime.a: permission denied chmod 777 原来是(644)之后成功,看起来他干了其他build不干的事情,因为build是成功的
3.go install会修改output的位置,放到$GOPATH/bin下面
go install一般生成静态库文件放在$GOPATH/pkg目录下,文件扩展名a,如果为main包,则会在$GOPATH/bin 生成一个可执行的二进制文件。
go build好像只对main包有效,在当前目录编译生成一个可执行的二进制文件(依赖包生成的静态库文件放在$GOPATH/pkg)。
go build:去建造,在数据库命令中,是建立一个新的数据构。
go install:去安装,在数据库命令中,是从其它数据源将数据库安装到本机上。
你可以试试把$GOPATH下的pkg和bin目录清空:
1.使用go build 编译非main包不生效(暂时没实验编译main包,并且main包里面有其他依赖),编译main包OK
2.使用go install的时候报错,go install runtime: open /usr/lib/go/pkg/linux_386/runtime.a: permission denied chmod 777 原来是(644)之后成功,看起来他干了其他build不干的事情,因为build是成功的
3.go install会修改output的位置,放到$GOPATH/bin下面
全部回答
- 1楼网友:爱难随人意
- 2021-03-14 19:54
简略回答:
go install/build都是用来编译包和其依赖的包的,不同的是,go install一般生成静态库文件放在$gopath/pkg目录下,文件扩展名a,如果为main包,则会在$gopath/bin 生成一个可执行的二进制文件。go build好像只对main包有效,在当前目录编译生成一个可执行的二进制文件(依赖包生成的静态库文件放在$gopath/pkg)。你自己可以先把$gopath下的pkg和bin目录清空,试一下不同命令有什么变化。
详细回答:
go build
通过go build加上要编译的go源文件名,我们即可得到一个可执行文件,默认情况下这个文件的名字为源文件名字去掉.go后缀。
$ go build hellogo.go
$ ls
hellogo* hellogo.go
当然你也可以通过-o选项来指定其他名字:
$ go build -o myfirstgo hellogo.go
$ ls
myfirstgo* hellogo.go
如果我们在go-examples目录下直接执行go build命令,后面不带文件名,我们将得到一个与目录名同名的可执行文件:
$ go build
$ ls
go-examples* hellogo.go
go install
与build命令相比,install命令在编译源码后还会将可执行文件或库文件安装到约定的目录下。
go install编译出的可执行文件以其所在目录名(dir)命名
go install将可执行文件安装到与src同级别的bin目录下,bin目录由go install自动创建
go install将可执行文件依赖的各种package编译后,放在与src同级别的pkg目录下.
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯