2016-12-01 7 views
0

Я работаю с API BigQuery на Google Cloud Platform, и я завершил установку клиентской библиотеки Golang.Google cloud BigQuery undefined ValueList

Когда я пытаюсь скомпилировать, я вижу следующие ошибки:

[[email protected] ~]$ go install github.com/user/program 
# github.com/user/program/handler 
go/src/github.com/user/program/handler/file1.go:228: undefined: 
"cloud.google.com/go/bigquery".ValueList 
go/src/github.com/user/program/handler/file1.go:259: undefined: 
"cloud.google.com/go/bigquery".ValueList 

Нарушитель линия 228:

227 for { 
228  var values bigquery.ValueList 
229  err := it.Next(&values) 

В верхней части файла я импортировать пакет, как это обычно

import "cloud.google.com/go/bigquery" 

и позаботились, чтобы установить клиентскую библиотеку для Golang https://cloud.google.com/bigquery/docs/reference/libraries#client-libraries-install-go

Я вижу, что пакет cloud.google.com содержится в моем GOPATH, и я вижу объявление типа ValueList внутри файла там. Поэтому вызывает недоумение, что я получаю эту ошибку.

Более того: Я могу скомпилировать этот файл на своей машине Windows без ошибок. Только когда я пытаюсь сделать то же самое на своей виртуальной машине CentOS, я сталкиваюсь с этим. Оба запускают go версию go1.6.3.

спасибо.

+1

Является ли ваш GOPATH одним путем? У вас потенциально есть каталог поставщиков, у которого установлена ​​более старая версия библиотеки? – sberry

ответ

0

@Spikey,

Привет, пожалуйста, убедитесь, что вы установили правильный клиент. Вот почему:

  1. После установки идут получить -u cloud.google.com/go/bigquery я вижу, что они не имеют экспортированной тип Valuelist (!). Только валуистичный, то есть невозвращенный. Проверьте линию 39 ~ пойти/SRC/google.golang.org/облака/BigQuery/value.go

  2. Однако они упоминают ValueList как экспортируемого типа в их документации, например (!):

  3. Также, Val ueList является экспортироваться типа, если смотреть прямо на: https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/bigquery/value.go

Так что есть путаница в установке правильного клиента Google.

Надеюсь, это поможет!

+0

вы абсолютно правы! Мое понимание заключалось в том, что с помощью команды «go get cloud.google.com/go/bigquery» вы получите последнюю стабильную версию из репозитория. В этом случае, похоже, что это не происходит, возможно, из-за того, что это CentOS и go1.6.3 - подумал, что я сомневаюсь, что это должно повлиять. – Spikey

+0

Я открою проблему с githubproject в случае, если это оправдано. Спасибо за помощь! – Spikey

+0

Просто хотел добавить ссылку на вопрос, который я открыл и закрыл. Похоже, что это было несогласованность с зеркалом репо, которое было исправлено. https://github.com/GoogleCloudPlatform/google-cloud-go/issues/440 – Spikey