Go: инструментарий (продолжение)

Вопросы написания собственного программного кода (на любых языках)

Модератор: Olej

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 05 янв 2023, 12:44

Olej писал(а):
05 янв 2023, 10:43
Но овчинка выделки стоит
Таким же манером можем пересобрать из исходников и самую-самую свежую версию - RC:

Код: Выделить всё

olej@R420:~/goroot$ git checkout go1.20rc2
Note: switching to 'go1.20rc2'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

  git switch -c <new-branch-name>

Or undo this operation with:

  git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD сейчас на 32593a9192 [release-branch.go1.20] go1.20rc2
Переключились на ветку:

Код: Выделить всё

olej@R420:~/goroot$ git branch 
* (HEAD отделён на go1.20rc2)
  help
  master
И сборка:

Код: Выделить всё

olej@R420:~/goroot/src$ pwd
/home/olej/goroot/src

Код: Выделить всё

olej@R420:~/goroot/src$ time ./all.bash
Building Go cmd/dist using /usr/lib/go-1.18. (go1.18.1 linux/amd64)
Building Go toolchain1 using /usr/lib/go-1.18.
Building Go bootstrap cmd/go (go_bootstrap) using Go toolchain1.
Building Go toolchain2 using go_bootstrap and Go toolchain1.
Building Go toolchain3 using go_bootstrap and Go toolchain2.
Building packages and commands for linux/amd64.

##### Test execution environment.
# GOARCH: amd64
# CPU: Intel(R) Xeon(R) CPU E5-2470 v2 @ 2.40GHz
# GOOS: linux
# OS Version: Linux 5.15.0-56-generic #62-Ubuntu SMP Tue Nov 22 19:54:14 UTC 2022 x86_64

##### Testing packages.
ok  	archive/tar	0.298s
ok  	archive/zip	0.154s
ok  	bufio	0.066s
ok  	bytes	0.295s
ok  	compress/bzip2	0.076s
ok  	compress/flate	0.512s
ok  	compress/gzip	2.477s
ok  	compress/lzw	0.009s
ok  	compress/zlib	0.025s
ok  	container/heap	0.008s
ok  	container/list	0.003s
ok  	container/ring	0.006s
ok  	context	0.019s
ok  	crypto	0.004s
ok  	crypto/aes	0.033s
ok  	crypto/cipher	0.011s
ok  	crypto/des	0.011s
ok  	crypto/dsa	0.007s
ok  	crypto/ecdh	0.102s
ok  	crypto/ecdsa	0.068s
ok  	crypto/ed25519	0.085s
ok  	crypto/elliptic	0.014s
ok  	crypto/hmac	0.007s
ok  	crypto/internal/alias	0.003s
ok  	crypto/internal/bigmod	0.405s
ok  	crypto/internal/boring	0.006s
ok  	crypto/internal/boring/bcache	0.141s
ok  	crypto/internal/edwards25519	6.523s
ok  	crypto/internal/edwards25519/field	5.091s
ok  	crypto/internal/nistec	1.590s
ok  	crypto/internal/nistec/fiat	0.006s [no tests to run]
ok  	crypto/md5	0.012s
ok  	crypto/rand	0.058s
ok  	crypto/rc4	0.047s
ok  	crypto/rsa	0.203s
ok  	crypto/sha1	0.065s
ok  	crypto/sha256	0.038s
ok  	crypto/sha512	0.007s
ok  	crypto/subtle	0.182s
ok  	crypto/tls	0.815s
ok  	crypto/x509	0.647s
ok  	database/sql	0.335s
ok  	database/sql/driver	0.004s
ok  	debug/buildinfo	0.012s
ok  	debug/dwarf	0.023s
ok  	debug/elf	0.321s
ok  	debug/gosym	0.404s
ok  	debug/macho	0.009s
ok  	debug/pe	0.018s
ok  	debug/plan9obj	0.006s
ok  	embed	0.012s [no tests to run]
ok  	embed/internal/embedtest	0.007s
ok  	encoding/ascii85	0.009s
ok  	encoding/asn1	0.004s
ok  	encoding/base32	0.037s
ok  	encoding/base64	0.011s
ok  	encoding/binary	0.009s
ok  	encoding/csv	0.012s
ok  	encoding/gob	2.464s
ok  	encoding/hex	0.004s
ok  	encoding/json	0.286s
ok  	encoding/pem	0.528s
ok  	encoding/xml	0.082s
ok  	errors	0.010s
ok  	expvar	0.010s
ok  	flag	0.033s
ok  	fmt	0.096s
ok  	go/ast	0.012s
ok  	go/build	2.585s
ok  	go/build/constraint	0.011s
ok  	go/constant	0.012s
ok  	go/doc	0.063s
ok  	go/doc/comment	1.542s
ok  	go/format	0.015s
ok  	go/importer	0.700s
ok  	go/internal/gccgoimporter	2.416s
ok  	go/internal/gcimporter	2.477s
ok  	go/internal/srcimporter	11.108s
ok  	go/parser	0.402s
ok  	go/printer	0.222s
ok  	go/scanner	0.004s
ok  	go/token	0.022s
ok  	go/types	8.185s
ok  	hash	0.005s
ok  	hash/adler32	0.009s
ok  	hash/crc32	0.008s
ok  	hash/crc64	0.004s
ok  	hash/fnv	0.006s
ok  	hash/maphash	0.101s
ok  	html	0.006s
ok  	html/template	0.106s
ok  	image	0.082s
ok  	image/color	0.027s
ok  	image/draw	0.136s
ok  	image/gif	0.225s
ok  	image/jpeg	0.255s
ok  	image/png	0.500s
ok  	index/suffixarray	0.323s
ok  	internal/abi	2.204s
ok  	internal/buildcfg	0.003s
ok  	internal/coverage/cformat	0.004s
ok  	internal/coverage/cmerge	0.004s
ok  	internal/coverage/pods	0.020s
ok  	internal/coverage/slicereader	0.004s
ok  	internal/coverage/slicewriter	0.016s
ok  	internal/coverage/test	0.019s
ok  	internal/cpu	0.009s
ok  	internal/dag	0.003s
ok  	internal/diff	0.005s
ok  	internal/fmtsort	0.006s
ok  	internal/fuzz	0.014s
ok  	internal/godebug	0.006s
ok  	internal/intern	0.524s
ok  	internal/itoa	0.003s
ok  	internal/poll	0.171s
ok  	internal/profile	0.017s
ok  	internal/reflectlite	0.143s
ok  	internal/safefilepath	0.003s
ok  	internal/saferio	0.039s
ok  	internal/singleflight	0.022s
ok  	internal/testenv	0.004s
ok  	internal/trace	0.074s
ok  	internal/types/errors	0.947s
ok  	internal/unsafeheader	0.003s
ok  	internal/xcoff	0.015s
ok  	io	0.037s
ok  	io/fs	0.496s
ok  	io/ioutil	0.013s
ok  	log	0.018s
ok  	log/syslog	1.235s
ok  	math	0.016s
ok  	math/big	2.025s
ok  	math/bits	0.010s
ok  	math/cmplx	0.012s
ok  	math/rand	0.163s
ok  	mime	0.021s
ok  	mime/multipart	0.279s
ok  	mime/quotedprintable	0.033s
ok  	net	2.835s
ok  	net/http	4.926s
ok  	net/http/cgi	0.431s
ok  	net/http/cookiejar	0.015s
ok  	net/http/fcgi	0.107s
ok  	net/http/httptest	0.070s
ok  	net/http/httptrace	0.004s
ok  	net/http/httputil	0.604s
ok  	net/http/internal	0.007s
ok  	net/http/internal/ascii	0.003s
ok  	net/http/pprof	5.090s
ok  	net/internal/socktest	0.003s
ok  	net/mail	0.011s
ok  	net/netip	0.654s
ok  	net/rpc	0.031s
ok  	net/rpc/jsonrpc	0.027s
ok  	net/smtp	0.024s
ok  	net/textproto	0.010s
ok  	net/url	0.020s
ok  	os	1.732s
ok  	os/exec	0.286s
ok  	os/exec/internal/fdtest	0.026s
ok  	os/signal	2.278s
ok  	os/user	0.006s
ok  	path	0.017s
ok  	path/filepath	0.058s
ok  	plugin	0.018s
ok  	reflect	0.583s
ok  	regexp	0.918s
ok  	regexp/syntax	1.376s
ok  	runtime	45.594s
ok  	runtime/cgo	0.005s
ok  	runtime/coverage	0.009s
ok  	runtime/debug	0.108s
ok  	runtime/internal/atomic	0.065s
ok  	runtime/internal/math	0.012s
ok  	runtime/internal/sys	0.005s
ok  	runtime/internal/syscall	0.002s
ok  	runtime/metrics	0.010s
ok  	runtime/pprof	6.589s
ok  	runtime/trace	3.182s
ok  	sort	0.055s
ok  	strconv	0.717s
ok  	strings	0.188s
ok  	sync	0.447s
ok  	sync/atomic	1.850s
ok  	syscall	0.157s
ok  	testing	1.149s
ok  	testing/fstest	0.021s
ok  	testing/iotest	0.019s
ok  	testing/quick	0.092s
ok  	text/scanner	0.029s
ok  	text/tabwriter	0.050s
ok  	text/template	0.067s
ok  	text/template/parse	0.052s
ok  	time	2.210s
ok  	unicode	0.008s
ok  	unicode/utf16	0.052s
ok  	unicode/utf8	0.072s
ok  	cmd/addr2line	1.511s
ok  	cmd/api	9.077s
ok  	cmd/asm/internal/asm	1.364s
ok  	cmd/asm/internal/lex	0.059s
ok  	cmd/compile/internal/abt	0.064s
ok  	cmd/compile/internal/amd64	2.700s
ok  	cmd/compile/internal/base	0.003s
ok  	cmd/compile/internal/compare	0.004s
ok  	cmd/compile/internal/dwarfgen	0.253s
ok  	cmd/compile/internal/importer	1.562s
ok  	cmd/compile/internal/ir	0.005s
ok  	cmd/compile/internal/logopt	0.607s
ok  	cmd/compile/internal/noder	0.004s
ok  	cmd/compile/internal/reflectdata	0.004s [no tests to run]
ok  	cmd/compile/internal/ssa	34.112s
ok  	cmd/compile/internal/syntax	0.043s
ok  	cmd/compile/internal/test	17.112s
ok  	cmd/compile/internal/typecheck	1.169s
ok  	cmd/compile/internal/types	0.005s
ok  	cmd/compile/internal/types2	18.256s
ok  	cmd/covdata	0.005s
ok  	cmd/cover	3.395s
ok  	cmd/dist	0.007s
ok  	cmd/doc	0.273s
ok  	cmd/fix	0.912s
ok  	cmd/go	25.829s
ok  	cmd/go/internal/auth	0.004s
ok  	cmd/go/internal/cache	0.310s
ok  	cmd/go/internal/fsys	0.051s
ok  	cmd/go/internal/generate	0.013s
ok  	cmd/go/internal/get	0.008s
ok  	cmd/go/internal/imports	0.012s
ok  	cmd/go/internal/load	0.016s
ok  	cmd/go/internal/lockedfile	0.147s
ok  	cmd/go/internal/lockedfile/internal/filelock	0.033s
ok  	cmd/go/internal/modconv	0.021s
ok  	cmd/go/internal/modfetch	0.028s
ok  	cmd/go/internal/modfetch/codehost	0.016s
ok  	cmd/go/internal/modfetch/zip_sum_test	0.020s
ok  	cmd/go/internal/modindex	0.259s
ok  	cmd/go/internal/modload	0.024s
ok  	cmd/go/internal/mvs	0.040s
ok  	cmd/go/internal/par	0.038s
ok  	cmd/go/internal/str	0.040s
ok  	cmd/go/internal/test	0.034s
ok  	cmd/go/internal/vcs	0.064s
ok  	cmd/go/internal/vcweb	0.056s
ok  	cmd/go/internal/vcweb/vcstest	19.455s
ok  	cmd/go/internal/web	0.047s
ok  	cmd/go/internal/work	0.057s
ok  	cmd/gofmt	0.115s
ok  	cmd/internal/archive	4.142s
ok  	cmd/internal/buildid	0.945s
ok  	cmd/internal/dwarf	0.020s
ok  	cmd/internal/edit	0.041s
ok  	cmd/internal/goobj	0.014s
ok  	cmd/internal/moddeps	3.298s
ok  	cmd/internal/notsha256	0.051s
ok  	cmd/internal/obj	1.820s
ok  	cmd/internal/obj/ppc64	0.556s
ok  	cmd/internal/obj/riscv	0.172s
ok  	cmd/internal/obj/s390x	0.025s
ok  	cmd/internal/obj/x86	0.661s
ok  	cmd/internal/objabi	0.013s
ok  	cmd/internal/pkgpath	0.212s
ok  	cmd/internal/pkgpattern	0.033s
ok  	cmd/internal/quoted	0.038s
ok  	cmd/internal/src	0.049s
ok  	cmd/internal/test2json	0.539s
ok  	cmd/link	15.033s
ok  	cmd/link/internal/benchmark	0.092s
ok  	cmd/link/internal/ld	9.805s
ok  	cmd/link/internal/loader	0.192s
ok  	cmd/nm	3.605s
ok  	cmd/objdump	11.210s
ok  	cmd/pack	4.538s
ok  	cmd/pprof	2.747s
ok  	cmd/trace	0.447s
ok  	cmd/vet	6.484s

##### os/user with tag osusergo
ok  	os/user	0.006s

##### GOMAXPROCS=2 runtime -cpu=1,2,4 -quick
ok  	runtime	23.660s

##### Testing without libgcc.
ok  	net	0.008s
ok  	os/user	0.004s

##### internal linking of -buildmode=pie
ok  	reflect	0.214s
ok  	os/user	0.007s

##### sync -cpu=10
ok  	sync	0.291s

##### Testing race detector
ok  	runtime/race	4.493s
ok  	flag	0.041s
ok  	net	0.161s
ok  	os	0.144s
ok  	os/exec	0.081s
ok  	encoding/gob	0.074s
ok  	flag	0.037s
ok  	os/exec	0.076s

##### ../misc/cgo/stdio
PASS

##### ../misc/cgo/life
PASS

##### ../misc/cgo/fortran
PASS

##### ../misc/cgo/test
ok  	misc/cgo/test	0.872s
ok  	misc/cgo/test	0.883s
ok  	misc/cgo/test	0.856s
ok  	misc/cgo/testtls	0.003s
ok  	misc/cgo/testtls	0.003s
ok  	misc/cgo/testtls	0.003s
ok  	misc/cgo/nocgo	0.002s
ok  	misc/cgo/nocgo	0.003s
ok  	misc/cgo/nocgo	0.003s
ok  	misc/cgo/test	0.905s
ok  	misc/cgo/test	0.861s
ok  	misc/cgo/test	0.870s
ok  	misc/cgo/test	0.850s
ok  	misc/cgo/testtls	0.003s
ok  	misc/cgo/nocgo	0.002s

##### ../misc/cgo/testgodefs
PASS

##### ../misc/cgo/testso
ok  	misc/cgo/testso	0.832s

##### ../misc/cgo/testsovar
ok  	misc/cgo/testsovar	0.837s

##### ../misc/cgo/testcarchive
SKIP - short mode and $GO_BUILDER_NAME not set

##### ../misc/cgo/testcshared
SKIP - short mode and $GO_BUILDER_NAME not set

##### ../misc/cgo/testshared
ok  	misc/cgo/testshared	59.017s

##### ../misc/cgo/testplugin
ok  	misc/cgo/testplugin	0.003s

##### ../misc/cgo/testsanitizers
PASS

##### ../misc/cgo/errors
PASS

##### ../test/bench/go1
ok  	test/bench/go1	0.014s [no tests to run]

##### ../test

##### cmd/api
ok  	cmd/api	29.985s

ALL TESTS PASSED
---
Installed Go for linux/amd64 in /home/olej/goroot
Installed commands in /home/olej/goroot/bin
*** You need to add /home/olej/goroot/bin to your PATH.

real	7m6,215s
user	54m49,669s
sys	10m11,833s

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 05 янв 2023, 12:47

Olej писал(а):
05 янв 2023, 12:44
И сборка:
Olej писал(а):
05 янв 2023, 12:44

Код: Выделить всё

...
real	7m6,215s
user	54m49,669s
sys	10m11,833s
Сборка напряжная...

Код: Выделить всё

olej@R420:~$ uptime
 11:35:55 up  4:05,  1 user,  load average: 38,01, 20,39, 12,03
Выглядит это как-то так - 40 процессоров под 100% загрузки :-o :
Снимок экрана от 2023-01-05 11-35-24.png
Снимок экрана от 2023-01-05 11-35-24.png (233.86 КБ) 346 просмотров
В итоге:

Код: Выделить всё

olej@R420:~/goroot/src$ ls -l ../bin/go
-rwxrwxr-x 1 olej olej 15568210 янв  5 11:34 ../bin/go

Код: Выделить всё

olej@R420:~/goroot/src$ ../bin/go version
go version go1.20rc2 linux/amd64

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 05 янв 2023, 13:18

Olej писал(а):
05 янв 2023, 12:47
В итоге:
И даже сделать эту версию дефаултной для экспериментов с кодами:

Код: Выделить всё

olej@R420:~/goroot/src$ /usr/bin/galternatives
...
Снимок экрана от 2023-01-05 12-14-28.png
Снимок экрана от 2023-01-05 12-14-28.png (43.16 КБ) 344 просмотра

Код: Выделить всё

olej@R420:~/goroot/src$ update-alternatives --display go
go - ручной режим
  link best version is /home/olej/goroot/bin/go
  ссылка сейчас указывает на /home/olej/goroot/bin/go
  link go is /usr/bin/go
/home/olej/goroot/bin/go — приоритет 80
/lib/go-1.13/bin/go — приоритет 60
/lib/go-1.18/bin/go — приоритет 75

Код: Выделить всё

olej@R420:~/goroot/src$ go version
go version go1.20rc2 linux/amd64

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 13:37

Olej писал(а):
05 янв 2023, 10:30
Сборка...
И тут нас ожидает облом!:
Сборка из исходников и самой свежей версии ... и тут я нарвался на очень неожиданный облом :!: :lol:
Дистрибутив:

Код: Выделить всё

olej@esprimop420:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye
Инсталляция свежая достаточно, Go там нет ... не ставился:

Код: Выделить всё

olej@esprimop420:~$ which go
olej@esprimop420:~$
Поставим:

Код: Выделить всё

olej@esprimop420:~$ aptitude search golang-1.*
p   golang-1.15                                               - Go programming language compiler - metapackage
p   golang-1.15-doc                                           - Go programming language - documentation
p   golang-1.15-go                                            - Go programming language compiler, linker, compiled stdlib
p   golang-1.15-src                                           - Go programming language - source files
Как ни странно (по сравнению с другими дистрибутивами) ничего свежее там нет ... ну и ладно:

Код: Выделить всё

olej@esprimop420:~$ sudo apt install golang
Чтение списков пакетов… Готово
Построение дерева зависимостей… Готово
Чтение информации о состоянии… Готово
...

Код: Выделить всё

olej@esprimop420:~$ which go
/usr/bin/go

Код: Выделить всё

olej@esprimop420:~$ go version
go version go1.15.15 linux/amd64
Установился...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 13:40

Olej писал(а):
14 мар 2023, 13:37
Установился...
Olej писал(а):
14 мар 2023, 13:37
Сборка из исходников и самой свежей версии ...
Привычным путём :lol: :

Код: Выделить всё

olej@esprimop420:~$ cd $HOME; git clone https://go.googlesource.com/go goroot
Клонирование в «goroot»…
remote: Finding sources: 100% (46/46)
remote: Total 563724 (delta 450950), reused 563708 (delta 450950)
Получение объектов: 100% (563724/563724), 325.22 MiB | 5.55 MiB/s, готово.
Определение изменений: 100% (450950/450950), готово.

Код: Выделить всё

olej@esprimop420:~$ cd goroot/src/
olej@esprimop420:~/goroot/src$
И вот тут ждёт облом :!:

Код: Выделить всё

olej@esprimop420:~/goroot/src$ time ./all.bash
Building Go cmd/dist using /usr/lib/go-1.15. (go1.15.15 linux/amd64)
found packages main (build.go) and building_Go_requires_Go_1_17_13_or_later (notgo117.go) in /home/olej/goroot/src/cmd/dist
cmd/dist/test.go:11:2: cannot find package "io/fs" in any of:
    /usr/lib/go-1.15/src/io/fs (from $GOROOT)
    /home/olej/go/src/io/fs (from $GOPATH)

real    0m0,044s
user    0m0,037s
sys     0m0,039s
Для сборки текущей версии 20 он хочет раскручиваться только от версии 17 и не ниже... :-o

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 13:51

Olej писал(а):
14 мар 2023, 13:40
И вот тут ждёт облом
Можно, конечно, пойти ... "окольным путём": переключиться в GIT на branch более старой версии (1.17, 1.18 ...):

Код: Выделить всё

olej@esprimop420:~/goroot/src$ git branch --all
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/dev.boringcrypto
  remotes/origin/dev.boringcrypto.go1.10
  remotes/origin/dev.boringcrypto.go1.11
  remotes/origin/dev.boringcrypto.go1.12
  remotes/origin/dev.boringcrypto.go1.13
  remotes/origin/dev.boringcrypto.go1.14
  remotes/origin/dev.boringcrypto.go1.15
  remotes/origin/dev.boringcrypto.go1.16
  remotes/origin/dev.boringcrypto.go1.17
  remotes/origin/dev.boringcrypto.go1.18
  remotes/origin/dev.boringcrypto.go1.8
  remotes/origin/dev.boringcrypto.go1.9
  remotes/origin/dev.cc
  remotes/origin/dev.cmdgo
  remotes/origin/dev.debug
  remotes/origin/dev.fuzz
  remotes/origin/dev.garbage
  remotes/origin/dev.gcfe
  remotes/origin/dev.go2go
  remotes/origin/dev.inline
  remotes/origin/dev.link
  remotes/origin/dev.power64
  remotes/origin/dev.regabi
  remotes/origin/dev.ssa
  remotes/origin/dev.tls
  remotes/origin/dev.typealias
  remotes/origin/dev.typeparams
  remotes/origin/dev.types
  remotes/origin/dev.unified
  remotes/origin/master
  remotes/origin/release-branch.go1
  remotes/origin/release-branch.go1.1
  remotes/origin/release-branch.go1.10
  remotes/origin/release-branch.go1.11
  remotes/origin/release-branch.go1.12
  remotes/origin/release-branch.go1.13
  remotes/origin/release-branch.go1.14
  remotes/origin/release-branch.go1.15
  remotes/origin/release-branch.go1.16
  remotes/origin/release-branch.go1.17
  remotes/origin/release-branch.go1.18
  remotes/origin/release-branch.go1.19
  remotes/origin/release-branch.go1.2
  remotes/origin/release-branch.go1.20
  remotes/origin/release-branch.go1.3
  remotes/origin/release-branch.go1.4
  remotes/origin/release-branch.go1.5
  remotes/origin/release-branch.go1.6
  remotes/origin/release-branch.go1.7
  remotes/origin/release-branch.go1.8
  remotes/origin/release-branch.go1.9
  remotes/origin/release-branch.r57
  remotes/origin/release-branch.r58
  remotes/origin/release-branch.r59
  remotes/origin/release-branch.r60
  remotes/origin/tls
А затем, если очень хочется :lol: , установив это - собирать ним версию 20.1 ...
Это не самый желательный путь ... потому что каждая сборка GoLang, на хороших современных процессорах настольных компьютеров (не считая серверов) у меня получается от 8 до 18 минут.
Но это длинно и нудно... :oops: ... и интересно бы знать: неужели никто не сталкивался?

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 16:06

Olej писал(а):
14 мар 2023, 13:51
и интересно бы знать: неужели никто не сталкивался?
Можно попробовать (даже интерено) воспользоваться бинарной установкой из проекта - Установка go на linux:
1. Удалите все предыдущие установленные версии Go, удалив папку /usr/local/go (если она существует)
извлеките только что загруженный архив в /usr/local, создав новое дерево Go в /usr/local/go: rm -rf /usr/local/go && tar -C /usr/local -xzf go1.18.2.linux-amd64.tar.gz (Возможно, вам потребуется выполнить команду от имени root или через sudo).
2. Не распаковывайте архив в существующее дерево /usr/local/go. Это приводет к нарушению работы Go
3. Добавьте /usr/local/go/bin в переменную окружения PATH.
...
Я это сделаю по-другому, через альтернативы, ... но идея понятна.
Беру здесь All releases:

Код: Выделить всё

olej@esprimop420:~/Загрузки/GoLang$ ls -l go1.19.7.linux-amd64.tar.gz 
-rw-r--r-- 1 olej olej 149010475 мар 14 13:21 go1.19.7.linux-amd64.tar.gz

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 16:13

Olej писал(а):
14 мар 2023, 16:06
Беру здесь

Код: Выделить всё

root@esprimop420:/home/olej/Загрузки/GoLang# tar -C /usr/local -xzf go1.19.7.linux-amd64.tar.gz 

Код: Выделить всё

root@esprimop420:/home/olej/Загрузки/GoLang# /usr/local/go/bin/go version
go version go1.19.7 linux/amd64

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 16:20

Код: Выделить всё

olej@esprimop420:~/2023/own.BOOKs/BHV.Go.2$ update-alternatives --list go
update-alternatives: ошибка: нет альтернатив для go
Оно и понятно - инсталляция системы новая.
Для порядку :-D - дефаултная версия:

Код: Выделить всё

olej@esprimop420:~/2023/own.BOOKs/BHV.Go.2$ sudo update-alternatives --install /usr/bin/go go /lib/go-1.15/bin/go 50
[sudo] пароль для olej: 
update-alternatives: используется /lib/go-1.15/bin/go для предоставления /usr/bin/go (go) в автоматическом режиме

Код: Выделить всё

olej@esprimop420:~/2023/own.BOOKs/BHV.Go.2$ go version
go version go1.15.15 linux/amd64

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Go : инструментарий (продолжение)

Непрочитанное сообщение Olej » 14 мар 2023, 16:23

Olej писал(а):
14 мар 2023, 16:20
дефаултная версия
Бинарная установленная версия:

Код: Выделить всё

root@esprimop420:/home/olej/Загрузки/GoLang# update-alternatives --install /usr/bin/go go /usr/local/go/bin/go 60
update-alternatives: используется /usr/local/go/bin/go для предоставления /usr/bin/go (go) в автоматическом режиме

Код: Выделить всё

root@esprimop420:/home/olej/Загрузки/GoLang# update-alternatives --display go
go - автоматический режим
  link best version is /usr/local/go/bin/go
  ссылка сейчас указывает на /usr/local/go/bin/go
  link go is /usr/bin/go
/lib/go-1.15/bin/go — приоритет 50
/usr/local/go/bin/go — приоритет 60

Код: Выделить всё

root@esprimop420:/home/olej/Загрузки/GoLang# go version
go version go1.19.7 linux/amd64

Ответить

Вернуться в «Программирование»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 5 гостей