2 回答
TA贡献1810条经验 获得超4个赞
正如@JimB 所说,install是为包设计的命令。只是给你一个明确的例子,这是我运行go env命令时得到的。
GOARCH="amd64"
GOBIN="/Users/quazinafiulislam/Code/go/ogolang/bin"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/quazinafiulislam/Code/go/ogolang"
GORACE=""
GOROOT="/usr/local/Cellar/go/1.5.1/libexec"
GOTOOLDIR="/usr/local/Cellar/go/1.5.1/libexec/pkg/tool/darwin_amd64"
GO15VENDOREXPERIMENT=""
CC="clang"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common"
CXX="clang++"
CGO_ENABLED="1"
您将看到GOPATH设置为我的项目根目录~/Code/go/ogolang. 现在,让我们看看我的项目根目录中有什么。
.
├── bin
├── pkg
│ └── darwin_amd64
└── src
├── bitbucket.org
├── github.com
├── golang.org
├── words
└── wordtest
如您所见,我有几个包。其中之一是wordtest。我可以go install在words或wordtest包上使用 a 。所以,让我们运行go install words看看目录会发生什么。
.
├── bin
│ └── words
├── pkg
│ └── darwin_amd64
└── src
├── bitbucket.org
├── github.com
├── golang.org
├── words
└── wordtest
现在,我们可以看到我们words为我们创建了一个二进制文件(在bin目录中),我们可以通过调用./bin/words.
TA贡献1900条经验 获得超5个赞
根据Games Brainiacgo install 对软件包的工作是正确的。但是让我添加一些关于在主目录中使用 go install 创建包的细节。
.
├── bin
│ └── app
├── pkg
│ └── linux_amd64
| └── user
| └── handlers.a
└── src
├── bitbucket.org
├── github.com
└── user
└── app
├── main.go
└── handlers
└──handlers.go
看看上面的目录结构,我在一个包含源文件的文件夹处理程序中创建了一个包handlers.go。我想构建那个包,我将go build在 handlers 文件夹中运行,它只是显示我们的文件没有编译错误并且在这种情况下不返回任何内容.
要使用主文件构建包,我们需要go install在 app 文件夹中运行。这将在内部创建 handlers.a 包对象,$GOPATH/pkg并在其中创建$GOPATH/bin带有文件夹名称的可执行文件(app in this case),我们在其中使用包 main 拥有 main.go 文件。
- 2 回答
- 0 关注
- 184 浏览
添加回答
举报