Мой Hyperledger Fabirc не будет собираться с Go из-за проблем с пакетом в Fabric 1.1 vs 1.0 - PullRequest
0 голосов
/ 12 октября 2019

Прямо сейчас, я следую этому уроку https://github.com/chainHero/heroes-service

После того, как я настроил свои .go и yaml и toml сценарии, я делаю dep ensure, а затем go build,

Я получаю сообщение об ошибке

# github.com/chainHero/heroes-service/vendor/github.com/zmap/zlint/lints
vendor/github.com/zmap/zlint/lints/result.go:75:9: undefined: strings.ReplaceAll
# github.com/chainHero/heroes-service/vendor/github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util
vendor/github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util/csp.go:47:8: cannot convert nil to type csr.KeyRequest
vendor/github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util/csp.go:132:37: cannot use req.KeyRequest (type *csr.KeyRequest) as type csr.KeyRequest in argument to getBCCSPKeyOpts

Я слышал, что это связано с проблемами управления версиями 1.0 vs 1.1, последняя из которых у меня есть. Я думал, что это будет решено, поскольку в Gopkg.toml

# github.com/chainHero/heroes-service/vendor/github.com/zmap/zlint/lints
vendor/github.com/zmap/zlint/lints/result.go:75:9: undefined: strings.ReplaceAll
# github.com/chainHero/heroes-service/vendor/github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util
vendor/github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util/csp.go:47:8: cannot convert nil to type csr.KeyRequest
vendor/github.com/hyperledger/fabric-sdk-go/internal/github.com/hyperledger/fabric-ca/util/csp.go:132:37: cannot use req.KeyRequest (type *csr.KeyRequest) as type csr.KeyRequest in argument to getBCCSPKeyOpts

Мне все еще нужно импортировать пакеты Go?

ОБНОВЛЕНИЕ:

Я установил Go 1.13.1 и теперь, когда я go build получаю

build github.com/chainHero/heroes-service: cannot load github.com/hyperledger/fabric-sdk-go/pkg/client/msp: open /home/luke/go/src/github.com/hyperledger/fabric-sdk-go/pkg/client/msp: no such file or directory

Я предполагаю, что это связано с использованием Fabric 1.0 здесь ...

1 Ответ

1 голос
/ 12 октября 2019

По вашей ошибке, похоже, что Fabric v1.1 использует strings.ReplaceAll из стандартной библиотеки go, а установленная вами версия Go его не поддерживает.

Согласно документации strings.ReplaceAll , он был добавлен в go версии 1.12, поэтому вы должны использовать версию go> = 1.12

...