Slavomir Polak
Slavomir Polak

Reputation: 29

Go, how to import package from github and build without go get

I need to import external package from github “github.com/xy/packageX” to MyProject/src/myProjcet.go. So I added import “github.com/xy/packageX” to myProject.go. If I run go build, I get:

myProject.go:9:2: import “github.com/xy/packageX”: cannot find package

So I have to run go get, and then go build.
Is there a way, how it can be built without using of go get? Or should I download it to MyProject/pkg and added this link to myProject.go? I am on Xubuntu 14.04.

Upvotes: 2

Views: 3170

Answers (2)

VonC
VonC

Reputation: 1328522

If you don't want to add your go project dependency to the global GOPATH, you can vendor it. (go 1.6+ recommended: see "Vendor Directories")

Go to the package which uses that import, and add it as a submodule in a vendor sub-folder.

cd GOPATH/src/myproject/mypackage
git submodule add -- https://github.com/<user>/<repo> vendor/github.com/<user>/<repo>
cd vendor/github.com/<user>/<repo>
go install
cd ../../../..
go install

Note: that repo might have itself other dependencies, that you would need to add in a similar fashion (in the same vendor folder)

Upvotes: 3

Jaehoon
Jaehoon

Reputation: 82

If your project is up to the repository, such as github, When the initial "go install" will be "go get" even as packageX.

Upvotes: 0

Related Questions