Go: x/tools/cmd/stringer: Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ зависимости ΠΎΡ‚ поставщиков

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 10 Π°Π²Π³. 2017  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: golang/go

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, ΠΎΡ‚Π²Π΅Ρ‚ΡŒΡ‚Π΅ Π½Π° эти вопросы, ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ вопрос. Бпасибо!

ΠšΠ°ΠΊΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ Go Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ( go version )?

вСрсия go go1.8.3 linux/amd64

ΠšΠ°ΠΊΡƒΡŽ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽ систСму ΠΈ Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρƒ процСссора Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ( go env )?

Π£Π±ΡƒΠ½Ρ‚Ρƒ линукс, amd64

Π§Ρ‚ΠΎ Ρ‚Ρ‹ сдСлал?

ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ golang.org/x/tools/cmd/stringer для ΠΏΠ°ΠΊΠ΅Ρ‚Π°, ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ зависимости ΠΎΡ‚ поставщиков.

Π§Ρ‚ΠΎ Π²Ρ‹ ΠΎΠΆΠΈΠ΄Π°Π»ΠΈ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ?

Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ ΠΊΠ°ΠΊ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΎ

Π§Ρ‚ΠΎ Π²Ρ‹ ΡƒΠ²ΠΈΠ΄Π΅Π»ΠΈ вмСсто этого?

Π’ Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ Β«go buildΒ» ΠΈ всС Π΄Ρ€ΡƒΠ³ΠΈΠ΅ инструмСнты выглядят Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ с зависимостями, прСдоставлСнными Π² $GOPATH/src/vendor, стрингСр Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ошибкой ΠΈΠΌΠΏΠΎΡ€Ρ‚Π°:

$ go build plinth/auth
$ go get golang.org/x/tools/cmd/stringer
$ go generate plinth/auth
stringer: checking package: auth.go:8:2: could not import golang.org/x/net/context (can't find import: vendor/golang.org/x/net/context)
src/plinth/auth/auth.go:37: running "stringer": exit status 1
$ stringer -type Role $GOPATH/src/plinth/auth
stringer: checking package: [...]/src/plinth/auth/auth.go:8:2: could not import golang.org/x/net/context (can't find import: vendor/golang.org/x/net/context)
$ ls $GOPATH/src/vendor/golang.org/x/net/context
context.go  context_test.go  ctxhttp  go17.go  go19.go  pre_go17.go  pre_go19.go  withtimeout_test.go

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

@ChimeraCoder Π― Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π» #10249.

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

ΠœΡ‹ Ρ‚ΠΎΠΆΠ΅ ΡΡ‚ΠΎΠ»ΠΊΠ½ΡƒΠ»ΠΈΡΡŒ с этой ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠΎΠΉ. Π­Ρ‚ΠΎ проявляСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² Go 1.8, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ здСсь: https://travis-ci.org/stripe/veneur/builds/278659663. Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ воспроизвСсти локально, ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² Dockerfile Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΌ запросС Π½Π° вытягиваниС , Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Go 1.8 вмСсто Go 1.9. Π­Ρ‚ΠΎ происходит, Π΄Π°ΠΆΠ΅ Ссли ΠΏΠ°ΠΊΠ΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°ΠΉΡ‚ΠΈ (Π² Π΄Π°Π½Π½ΠΎΠΌ случаС github.com/gogo/protobuf/proto ), установлСн с go install .

Π˜ΠΌΠΏΠΎΡ€Ρ‚Π΅Ρ€ стрингСра ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚Π΅Ρ€ Go ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ для 1.8, Π½ΠΎ Π½Π΅ для 1.9 .

Запуск go install Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ (Π½Π΅ Π² ΠΏΠ°ΠΊΠ΅Ρ‚Π΅, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ½ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Π° Π² Ρ‚ΠΎΠΌ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ импортируСтся) ΠΏΠ΅Ρ€Π΅Π΄ запуском Stringer устраняСт ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ.

Π― попытался ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это Π² stringer , хотя я Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΏΠΎΡ‡Π΅ΠΌΡƒ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ самого go/importer измСнилось Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ 1.8 ΠΈ 1.9. ΠœΠΎΠΆΠ΅Ρ‚ Π»ΠΈ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΌΠ½Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ здСсь?

Π­Ρ‚Π° ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Π±Ρ‹Π»Π° исправлСна ​​в Go 1.10, Π½ΠΎ Π½Π΅Π΄Π°Π²Π½ΠΎ снова появилась. Π― ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΊΠΎΠΌΠΌΠΈΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ прСдставил Π΅Π³ΠΎ, Π±Ρ‹Π» https://github.com/golang/tools/commit/ffe88906718454e356e61776b54256e873fc133b , ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ CL 40403.

ΠšΠΎΠΌΠΌΠΈΡ‚ Π±Ρ‹Π» ΠΎΡ‚ΠΌΠ΅Π½Π΅Π½, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π΅ΡˆΠΈΡ‚ΡŒ https://github.com/golang/go/issues/25650 , хотя ΠΎΠ½ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ Π²Π²ΠΎΠ΄ΠΈΡ‚ https://github.com/golang/go/issues/10249 , Ρ‡Ρ‚ΠΎ связано.

Π― Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π±Ρ‹Π»Π° Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΈΠ·-Π·Π° возраста β€” ΠΎΠ½Π° Π±Ρ‹Π»Π° вновь ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° Π΄Π²Π° дня Π½Π°Π·Π°Π΄, Π½ΠΎ ΠΏΠΎ-ΠΏΡ€Π΅ΠΆΠ½Π΅ΠΌΡƒ доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для соавторов.

@ChimeraCoder Π― Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π» #10249.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ