Nieuwste Go (1.11.5) op Ubuntu met package manager?

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • Jace / TBL
  • Registratie: Augustus 2001
  • Laatst online: 23-03-2023
Hoe krijg ik de laatste versie van Go (1.11.5 op moment van schrijven) geïnstalleerd op een Ubuntu 18 server met een package manager?

Ik heb geprobeerd: sudo apt install golang
Maar dat geeft me een 1.10.x versie.
Daarna weer verwijderd met sudo apt remove golang en dan zegt hij "Package 'golang' is not installed, so not removed" :?

Vervolgens met snap: sudo snap install go --classic
Maar dat geeft ook een 1.10.x versie. En daarna weer weghalen met sudo snap remove go waarop hij zegt "go removed". Maar daarna doet go het nog steeds..?

apt upgrade / apt upgrade en dergelijke uiteraard al gedaan. Doe ik iets fout of worden die package managers gewoon niet goed bijgehouden?

Beste antwoord (via Jace / TBL op 03-02-2019 16:49)


  • kunnen
  • Registratie: Februari 2004
  • Niet online
Doe eens een
code:
1
dpkg -l | grep golang
of eventueel
code:
1
dpkg -l | grep go
Dan weet je welke go-packages er met apt/dpkg zijn geinstalleerd.

Als het go-commando nog steeds werkt, dan kun je met
code:
1
which go
erachter komen waar die binary staat, en met
code:
1
ls -l `which go`
waar die vandaan komt.

Verder vind ik met google een hoop suggesties hoe je op 18.04 Go 1.11 kunt krijgen, maar dat is zonder de standaard repositories; 18.04 heeft 1.11 simpelweg niet in zijn repo's. Je zult dus van source/PPA/.deb moeten installeren.

Op 18.10 zie ik hem overigens al in de snap-suggestie staan
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
$ go

Command 'go' not found, but can be installed with:

sudo snap install go         # version 1.11.5, or

$ snap info go
name:      go
summary:   Go programming language compiler, linker, stdlib
publisher: Michael Hudson-Doyle (mwhudson)
contact:   michael.hudson@ubuntu.com
license:   BSD-3-Clause
description: |
  This snap provides an assembler, compiler, linker, and compiled libraries for the Go programming
  language.
snap-id: Md1HBASHzP4i0bniScAjXGnOII9cEK6e
channels:
  stable:         1.11.5        2019-01-24 (3129) 82MB classic
  candidate:      ↑                                    
  beta:           1.12beta2     2019-01-24 (3134) 91MB classic
  edge:           devel-f1d662f 2019-01-30 (3164) 91MB classic
  1.12/stable:    –                                    
  1.12/candidate: –                                    
  1.12/beta:      1.12beta2     2019-01-24 (3134) 91MB classic
  1.12/edge:      ↑                                    
  1.11/stable:    1.11.5        2019-01-24 (3129) 82MB classic
  1.11/candidate: 1.11.5        2019-01-24 (3129) 82MB classic
  1.11/beta:      ↑                                    
  1.11/edge:      ↑                                    
  1.10/stable:    1.10.8        2019-01-24 (3133) 58MB classic
  1.10/candidate: 1.10.8        2019-01-24 (3133) 58MB classic
  1.10/beta:      ↑                                    
  1.10/edge:      ↑                                    
  1.9/stable:     1.9.7         2018-06-13 (2117) 58MB classic
  1.9/candidate:  ↑                                    
  1.9/beta:       ↑                                    
  1.9/edge:       ↑                                    
  1.8/stable:     1.8.7         2018-02-07 (1407) 51MB classic
  1.8/candidate:  ↑                                    
  1.8/beta:       ↑                                    
  1.8/edge:       ↑                                    
  1.7/stable:     1.7.6         2017-06-02  (324) 48MB classic
  1.7/candidate:  ↑                                    
  1.7/beta:       ↑                                    
  1.7/edge:       ↑                                    
  1.6/stable:     1.6.4         2017-05-17  (122) 49MB classic
  1.6/candidate:  ↑                                    
  1.6/beta:       ↑                                    
  1.6/edge:       ↑

dus met een ander snap channel zou het alsnog moeten lukken.

[ Voor 71% gewijzigd door kunnen op 03-02-2019 13:42 ]

Alle reacties


Acties:
  • Beste antwoord
  • 0 Henk 'm!

  • kunnen
  • Registratie: Februari 2004
  • Niet online
Doe eens een
code:
1
dpkg -l | grep golang
of eventueel
code:
1
dpkg -l | grep go
Dan weet je welke go-packages er met apt/dpkg zijn geinstalleerd.

Als het go-commando nog steeds werkt, dan kun je met
code:
1
which go
erachter komen waar die binary staat, en met
code:
1
ls -l `which go`
waar die vandaan komt.

Verder vind ik met google een hoop suggesties hoe je op 18.04 Go 1.11 kunt krijgen, maar dat is zonder de standaard repositories; 18.04 heeft 1.11 simpelweg niet in zijn repo's. Je zult dus van source/PPA/.deb moeten installeren.

Op 18.10 zie ik hem overigens al in de snap-suggestie staan
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
$ go

Command 'go' not found, but can be installed with:

sudo snap install go         # version 1.11.5, or

$ snap info go
name:      go
summary:   Go programming language compiler, linker, stdlib
publisher: Michael Hudson-Doyle (mwhudson)
contact:   michael.hudson@ubuntu.com
license:   BSD-3-Clause
description: |
  This snap provides an assembler, compiler, linker, and compiled libraries for the Go programming
  language.
snap-id: Md1HBASHzP4i0bniScAjXGnOII9cEK6e
channels:
  stable:         1.11.5        2019-01-24 (3129) 82MB classic
  candidate:      ↑                                    
  beta:           1.12beta2     2019-01-24 (3134) 91MB classic
  edge:           devel-f1d662f 2019-01-30 (3164) 91MB classic
  1.12/stable:    –                                    
  1.12/candidate: –                                    
  1.12/beta:      1.12beta2     2019-01-24 (3134) 91MB classic
  1.12/edge:      ↑                                    
  1.11/stable:    1.11.5        2019-01-24 (3129) 82MB classic
  1.11/candidate: 1.11.5        2019-01-24 (3129) 82MB classic
  1.11/beta:      ↑                                    
  1.11/edge:      ↑                                    
  1.10/stable:    1.10.8        2019-01-24 (3133) 58MB classic
  1.10/candidate: 1.10.8        2019-01-24 (3133) 58MB classic
  1.10/beta:      ↑                                    
  1.10/edge:      ↑                                    
  1.9/stable:     1.9.7         2018-06-13 (2117) 58MB classic
  1.9/candidate:  ↑                                    
  1.9/beta:       ↑                                    
  1.9/edge:       ↑                                    
  1.8/stable:     1.8.7         2018-02-07 (1407) 51MB classic
  1.8/candidate:  ↑                                    
  1.8/beta:       ↑                                    
  1.8/edge:       ↑                                    
  1.7/stable:     1.7.6         2017-06-02  (324) 48MB classic
  1.7/candidate:  ↑                                    
  1.7/beta:       ↑                                    
  1.7/edge:       ↑                                    
  1.6/stable:     1.6.4         2017-05-17  (122) 49MB classic
  1.6/candidate:  ↑                                    
  1.6/beta:       ↑                                    
  1.6/edge:       ↑

dus met een ander snap channel zou het alsnog moeten lukken.

[ Voor 71% gewijzigd door kunnen op 03-02-2019 13:42 ]


Acties:
  • 0 Henk 'm!

  • Klippy
  • Registratie: Oktober 2000
  • Laatst online: 23:42

Klippy

Still Game

Package managers hebben meestal stabiele oudere versies.
Aanbevolen is gewoon zelf installeren, dan kan je ook patches meteen downloaden. Het is voor Go niet lastig, uitpakken en de bin map aan je PATH omgevingsvariabele toevoegen, zie https://golang.org/doc/install#tarball

De laatste stap hoef je maar eenmalig te doen, daarna is gewoon opnieuw uitpakken voor alle nieuwe versies.

Steam | SXQncyBhbGwgZ29vZCwgbWFuISDwn5iO


Acties:
  • 0 Henk 'm!

  • Hero of Time
  • Registratie: Oktober 2004
  • Laatst online: 21:21

Hero of Time

Moderator LNX

There is only one Legend

Je vergeet even wat het betekend om een LTS release te draaien. Heb je al eens opgezocht waarom er bij bijvoorbeeld Red Hat en derivaten (zoals CentOS) veel oude software in de standaard repo zit? Dat heeft met stabiliteit te maken en non-breaking changes garanderen. Als je een programma in GO hebt dat is gemaakt voor versie 1.10 en in 1.11 worden er een aantal zaken uitgefaseerd en zijn niet meer beschikbaar, of werken heel anders, zal je applicatie het niet meer doen. Dat wil je dus niet en lever je als LTS distro geen nieuwe versie mee.

Is er dus een specifieke reden waarom je 18.04 nog draait en je persé daar GO 1.11 op moet hebben? Overigens bied Ubuntu 18.10 ook nog gewoon 1.10. Dus upgraden naar 18.10 zal je iig niet verder helpen.

Voor het compleet verwijderen van Golang kan je de stappen van @kunnen hierboven uitvoeren.

Wil je echt 1.11, waarbij je kans hebt dat er redelijk wat kapot kan gaan, via de package manager, dan kan je kijken of iemand een PPA heeft gemaakt.

Commandline FTW | Tweakt met mate


Acties:
  • 0 Henk 'm!

  • Jace / TBL
  • Registratie: Augustus 2001
  • Laatst online: 23-03-2023
Dank voor de reacties d:)b
kunnen schreef op zondag 3 februari 2019 @ 13:39:
dus met een ander snap channel zou het alsnog moeten lukken.
Ik weet niet precies wat dat is (dit is in feite de eerste keer dat ik iets met snap doe ipv apt-get) maar daar kom ik wel uit.

Doch ik denk dat ik het voor nu ff met een PPA doe (die zijn er).
Hero of Time schreef op zondag 3 februari 2019 @ 13:42:
Is er dus een specifieke reden waarom je 18.04 nog draait
Omdat dat de laatste LTS is. In het verleden te vaak gezeik gehad dat ik de nieuwste Ubuntu van dat moment installeerde, en dan na een paar maanden ergens problemen mee kreeg en dan bij het zoeken naar een oplossing vaak stuitte op "ja maar jouw versie is al end of life, neem dan ook een LTS versie, die wordt langer supported".
Dat iets blijkbaar al 'end of life' is terwijl dat twee maanden daarvoor nog de allernieuwste versie was die er bestond, daar heb ik geen trek meer in.
en je persé daar GO 1.11 op moet hebben?
Ik wil een Bitcoin Lightning Node installeren en daar is Go 1.11 voor nodig (wegens go modules).

Acties:
  • 0 Henk 'm!

  • Lethalis
  • Registratie: April 2002
  • Niet online
@Jace / TBL
Je kunt de Golang binaries gewoon downloaden.
code:
1
2
3
wget -O ~/golang.tar.gz https://dl.google.com/go/go1.11.5.linux-amd64.tar.gz
tar -xvf golang.tar.gz -C ~
~/go/bin/go version

Zelf natuurlijk nog even je PATH en GOPATH goedzetten and you're good to go ;)

Golang gebruikt namelijk static binaries en daarvoor heb je helemaal niet zoveel nodig. Je hoeft niet per se via een package manager daarvoor te gaan.

Bij het Golang team ligt de focus ook zeer op backwards compatibility, dus een nieuwe versie van Golang installeren kan meestal geen kwaad.

[ Voor 38% gewijzigd door Lethalis op 04-02-2019 13:55 ]

Ask yourself if you are happy and then you cease to be.


Acties:
  • 0 Henk 'm!

  • Gropah
  • Registratie: December 2007
  • Niet online

Gropah

Admin Softe Goederen

Oompa-Loompa 💩

En afhankelijk van welke versie en of je al een werkende versie draaiende hebt, kun je ook

code:
1
go get golang.org/dl/go1.11.5


(of welke andere versie dan ook) gebruiken om die mee binnen te hengelen. Daarmee krijg je het command go1.11.5 in je path. Dat kun je dan eventueel ook weer symlinken naar het go commando, of los blijven gebruiken. Zo kun je bijvoorbeeld ook makkelijk release candidates proberen.

[ Voor 3% gewijzigd door Gropah op 17-02-2019 12:37 ]

Pagina: 1