PubSub
Windows 10, Go 1.12
I would like to compile and run my program. The same code works on my ChromeBook (with crouton, thus on linux)
Impossible to get all the dependent packages, and thus to compile and run my program
My imports are the following
import (
"cloud.google.com/go/pubsub"
"encoding/json"
"errors"
log "github.com/sirupsen/logrus"
"noHrEndpoint/processMessage/models"
"os"
)
C:UsersgibgosrcnoHrEndpointprocessMessage>go get -v ./...
github.com/sirupsen/logrus (download)
github.com/konsorten/go-windows-terminal-sequences (download)
Fetching https://google.golang.org/api/iterator?go-get=1
Parsing meta tags from https://google.golang.org/api/iterator?go-get=1 (status code 200)
get "google.golang.org/api/iterator": found meta tag get.metaImport{Prefix:"google.golang.org/api", VCS:"git", RepoRoot:"https://code.googlesource.com/google-api-go-client"} at https://google.golang.org/api/iterator?go-get=1
get "google.golang.org/api/iterator": verifying non-authoritative meta tag
Fetching https://google.golang.org/api?go-get=1
Parsing meta tags from https://google.golang.org/api?go-get=1 (status code 200)
google.golang.org/api (download)
fatal: Not a git repository (or any of the parent directories): .git
package google.golang.org/api/iterator: exit status 128
Fetching https://google.golang.org/api/option?go-get=1
Parsing meta tags from https://google.golang.org/api/option?go-get=1 (status code 200)
get "google.golang.org/api/option": found meta tag get.metaImport{Prefix:"google.golang.org/api", VCS:"git", RepoRoot:"https://code.googlesource.com/google-api-go-client"} at https://google.golang.org/api/option?go-get=1
get "google.golang.org/api/option": verifying non-authoritative meta tag
package google.golang.org/api/option: cannot find package "google.golang.org/api/option" in any of:
C:Gosrcgoogle.golang.orgapioption (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapioption (from $GOPATH)
Fetching https://google.golang.org/api/transport?go-get=1
Parsing meta tags from https://google.golang.org/api/transport?go-get=1 (status code 200)
get "google.golang.org/api/transport": found meta tag get.metaImport{Prefix:"google.golang.org/api", VCS:"git", RepoRoot:"https://code.googlesource.com/google-api-go-client"} at https://google.golang.org/api/transport?go-get=1
get "google.golang.org/api/transport": verifying non-authoritative meta tag
package google.golang.org/api/transport: cannot find package "google.golang.org/api/transport" in any of:
C:Gosrcgoogle.golang.orgapitransport (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapitransport (from $GOPATH)
Fetching https://google.golang.org/api/support/bundler?go-get=1
Parsing meta tags from https://google.golang.org/api/support/bundler?go-get=1 (status code 200)
get "google.golang.org/api/support/bundler": found meta tag get.metaImport{Prefix:"google.golang.org/api", VCS:"git", RepoRoot:"https://code.googlesource.com/google-api-go-client"} at https://google.golang.org/api/support/bundler?go-get=1
get "google.golang.org/api/support/bundler": verifying non-authoritative meta tag
package google.golang.org/api/support/bundler: cannot find package "google.golang.org/api/support/bundler" in any of:
C:Gosrcgoogle.golang.orgapisupportbundler (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapisupportbundler (from $GOPATH)
C:UsersgibgosrcnoHrEndpointprocessMessage>go install -v ./...
....cloud.google.comgopubsubapiv1publisher_client.go:27:2: cannot find package "google.golang.org/api/iterator" in any of:
C:Gosrcgoogle.golang.orgapiiterator (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapiiterator (from $GOPATH)
....cloud.google.comgopubsubapiv1publisher_client.go:28:2: cannot find package "google.golang.org/api/option" in any of:
C:Gosrcgoogle.golang.orgapioption (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapioption (from $GOPATH)
....cloud.google.comgopubsubtopic.go:29:2: cannot find package "google.golang.org/api/support/bundler" in any of:
C:Gosrcgoogle.golang.orgapisupportbundler (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapisupportbundler (from $GOPATH)
....cloud.google.comgopubsubapiv1publisher_client.go:29:2: cannot find package "google.golang.org/api/transport" in any of:
C:Gosrcgoogle.golang.orgapitransport (from $GOROOT)
C:Usersgibgosrcgoogle.golang.orgapitransport (from $GOPATH)
Are you able to compile any client? This feels like a GOPATH problem... Do you have go 1.12 installed? If so, could you try the windows equivalent of:
cd /tmp
git clone https://github.com/googleapis/google-cloud-go.git
cd google-cloud-go
go build ./...
This should force the use of modules instead of GOPATH. If the above works, then it points to an issue with your environment. If it doesn't work, we'll need some more investigating.
Hi
No better result with your tip.
Here my commands according with your instructions:
C:>md tmp
C:>cd tmp
C:tmp>git clone https://github.com/googleapis/google-cloud-go.git
Cloning into 'google-cloud-go'...
remote: Enumerating objects: 678, done.
remote: Counting objects: 100% (678/678), done.
remote: Compressing objects: 100% (389/389), done.
Receiving objects: 100% (22456/22456), 15.83 delta 242), pack-reused 21778Receiving objects: 100% (22456/22456), 15.61 MiB | 471.00 KiB/s
MiB | 475.00 KiB/s, done.
Resolving deltas: 100% (15405/15405), done.
C:tmp>cd google-cloud-go
C:tmpgoogle-cloud-go>go build ./...
go: finding github.com/google/martian v2.1.0+incompatible
go: finding github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024
go: finding github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c
go: finding github.com/golang/mock v1.2.0
go: finding github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57
go: finding golang.org/x/exp v0.0.0-20190121172915-509febef88a4
go: finding golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6
go: finding google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8
go: finding golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421
go: finding honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a
go: finding golang.org/x/tools v0.0.0-20190312170243-e65039ee4138
go: finding golang.org/x/net v0.0.0-20190311183353-d8887717615a
go: finding golang.org/x/time v0.0.0-20181108054448-85acf8d2951c
go: finding golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f
go: finding google.golang.org/api v0.5.0
go: finding github.com/google/go-cmp v0.2.0
go: finding go.opencensus.io v0.21.0
go: finding cloud.google.com/go v0.34.0
go: finding golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4
go: finding golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e
go: finding google.golang.org/appengine v1.4.0
go: finding google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19
go: finding golang.org/x/text v0.3.0
go: finding golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
go: finding github.com/hashicorp/golang-lru v0.5.0
go: finding golang.org/x/net v0.0.0-20180724234803-3673e40ba225
go: finding github.com/golang/protobuf v1.2.0
go: finding google.golang.org/grpc v1.19.0
go: finding github.com/googleapis/gax-go/v2 v2.0.4
go: finding honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099
go: finding google.golang.org/appengine v1.1.0
go: finding cloud.google.com/go v0.26.0
go: finding github.com/BurntSushi/toml v0.3.1
go: finding golang.org/x/sys v0.0.0-20180830151530-49385e6e1522
go: finding golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f
go: finding golang.org/x/tools v0.0.0-20190114222345-bf090417da8b
go: finding google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8
go: finding golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3
go: finding golang.org/x/net v0.0.0-20180826012351-8a410e7b638d
go: finding github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
go: finding github.com/client9/misspell v0.3.4
go: finding golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be
go: finding github.com/golang/mock v1.1.1
go: finding golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2
go: finding golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a
go: finding golang.org/x/net v0.0.0-20190213061140-3a22650c66bd
go: finding golang.org/x/tools v0.0.0-20190226205152-f727befe758c
go: finding golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961
go: finding golang.org/x/sync v0.0.0-20181108010431-42b317875d0f
go: downloading google.golang.org/grpc v1.19.0
go: downloading google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8
go: downloading google.golang.org/api v0.5.0
go: downloading github.com/golang/protobuf v1.2.0
go: downloading golang.org/x/time v0.0.0-20181108054448-85acf8d2951c
go: extracting golang.org/x/time v0.0.0-20181108054448-85acf8d2951c
go: extracting github.com/golang/protobuf v1.2.0
go: extracting google.golang.org/grpc v1.19.0
go: extracting google.golang.org/genproto v0.0.0-20190508193815-b515fa19cec8
go: extracting google.golang.org/api v0.5.0
go: downloading github.com/google/martian v2.1.0+incompatible
go: downloading golang.org/x/net v0.0.0-20190311183353-d8887717615a
go: downloading golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6
go: downloading github.com/googleapis/gax-go/v2 v2.0.4
go: downloading golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421
go: downloading go.opencensus.io v0.21.0
go: extracting golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6
go: extracting golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421
go: extracting github.com/googleapis/gax-go/v2 v2.0.4
go: extracting github.com/google/martian v2.1.0+incompatible
go: extracting go.opencensus.io v0.21.0
go: extracting golang.org/x/net v0.0.0-20190311183353-d8887717615a
go: downloading github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57
go: extracting github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57
go: downloading golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
go: downloading github.com/hashicorp/golang-lru v0.5.0
go: downloading github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c
go: downloading github.com/golang/mock v1.2.0
go: downloading github.com/google/go-cmp v0.2.0
go: extracting github.com/hashicorp/golang-lru v0.5.0
go: extracting github.com/golang/mock v1.2.0
go: extracting github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c
go: extracting github.com/google/go-cmp v0.2.0
go: extracting golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2
C:tmpgoogle-cloud-go>go version
go version go1.12.4 windows/amd64
C:tmpgoogle-cloud-go>
Thanks for trying that. I see no errors in the above, so it seems like cloud.google.com/go builds fine on windows. Closing this issue.
I don't have a lot of windows tips for you, but one thing you could look at that's weird from your original message is that your directories appear to have relative paths in them:
C:\Users\gib\go\src\noHrEndpoint\processMessage>go install -v ./...
....\cloud.google.com\go\pubsub\apiv1\publisher_client.go:27:2: cannot find package
It's not clear to me why "...." is there. Maybe that's a windows quirk.
Apart from that, you might ask in the gophers slack if any windows people have had this kind of problem. I suspect it's a problem with your $GOPATH or how you're importing packages.
@jadekler, thanks for your help. I must be one of the rare mad people to use Go with Windows ! Don't worry if the problem still occur, my chromebook save me !
@jadekler, I updated my project to support modules and now it's working, even on Windows ! Keep it in mind if the problem occur again !
That's great to hear, thanks for the update!