Reputation: 29
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
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
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