Προς το περιεχόμενο

Go version


Rumpelstiltskin

Προτεινόμενες αναρτήσεις

καλησπέρα, έκανα εγκατάσταση την go 1.12.7 και όταν παω go version για να δω την εκδοση μου βγάζει 

go version xgcc (Ubuntu 4.9.3-0ubuntu4) 4.9.3 linux/amd64

 

ξέρει κανεις γιατι συμβαίνει αυτο; 

 

χρησιμοποιώ  Ubuntu 14.04.6 LTS  (μεσα απο windows 10).  αν μπω στο φακελο go και κανω cat το αποτελεσμα μου βγαζει go1.12.7 , αλλά όχι οταν παταω την εντολή go version και αναρωτιέμαι αν εκανα κάποιο λάθος κατα την εγκατασταση

 

 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Επειδη ειναι πολλα τα πακετα και δεν ξερω ποιο ειναι το σωστο, ποιο/α κανεις εγκατασταση καθε φορα?

Και τι εννοεις με το "μεσα απο windows 10"? Εχεις το ubuntu σε καποιο virtual machine? Χρησιμοποιεις wsl?

Επεξ/σία από jim_p
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

σε windows subsystem. 

wget https://dl.google.com/go/go1.12.7.linux-amd64.tar.gz
sudo tar -xvf go1.12.7.linux-amd64.tar.gz

μετα αν πατησω go version μου λεει να κανω apt get-install golang ή gccgo-go κατι τετοιο

μετα 

 

export GOPATH=$HOME/go

export PATH=$PATH:$GOPATH/bin

 

σίγουρα κανω κατι λαθος, αλλά τι;

 

 

με go env εχω 

image.png.318b76efae0fe57b999ae39de61a519b.png

χμμ, μετα απο πολύ ψαξιμο το εκανα να τρεχει, αλλά κάθε φορά που το ανοιγω πρέπει να πατάω 
export PATH=$PATH:/usr/local/go/bin

αλλιώς δε μου αναγνωρίζει καν την go

για να μη χρειαζεται να το πατάω καθε φορά, πως το κανω να το κρατησει μονιμα;

τι εννοει με αυτο; All the above environment will be set for your current session only. To make it permanent add above commands in ~/.profile file. τι πρεπει να κανω δηλαδη;

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Το φακελο στον οποιο αποσυμπιεστηκαν τα πραγματα απο το tar.gz θα τον πεις σκετο go, αν δεν λεγεται ηδη ετσι, και θα τον βαλεις μεσα στο /home/username σου. Αν τον βαλεις σε καποιο υποφακελο κανεις κατι λαθος. Και sudo στην αρχη, πριν απο το tar, δεν νομιζω να χρειαζεται. Δοκιμασε να αποσυμπιεσεις το tar.gz χωρις αυτο. 
Ετσι θα τον δει οπως τον θελει στις γραμμες που ξεκινανε με export και θα δουλεψει. Παραθετω οτι μου εβγαλε σε μενα κανοντας την ιδια διαδικασια

$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/jim/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/jim/go"
GOPROXY=""
GORACE=""
GOROOT="/home/jim/go"
GOTMPDIR=""
GOTOOLDIR="/home/jim/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build252999156=/tmp/go-build -gno-record-gcc-switches"

Αν βαλεις τα πακετα που λεει, θα εχεις την go 1.6 στο ubuntu 16.04, ενω το gccgo-go δεν υπαρχει καν για τη συγκεκριμενη εκδοση της διανομης.

  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)
Αναφορά σε κείμενο

go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/Ramp/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/Ramp/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build364556902=/tmp/go-build -gno-record-gcc-switches"


λοιπον, εκανα 

tar -C /usr/local -xzf go1.12.7.linux-amd64.tar.gz 

και μετα 

export PATH=$PATH:/usr/local/go/bin

 

με αυτο το τρόπο μου το αναγνωριζει σωστα ως 

go version go1.12.7 linux/amd64

απλά κάθε φορά που το ανοίγω θέλει παλι το export αλλιώς μου λεει πως δεν υπαρχει η go, οποτε ψαχνω τρόπο να το κανω μονιμο

Επεξ/σία από Rumpelstiltskin
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Δεν ξερω τι εφαρμογες εχει απο τη μανα του το wsl, αλλα γενικα, υποθετοντας οτι εχει το nano (γνωστος απλος text editor), δινεις ενα

nano ~/.bashrc

και γραφεις αυτο με το export blablabla. Το αποθηκευεις με ctrl+o, βγαινεις απο το nano με ctrl+x και κανεις logout κια ξανα login για να παρει την αλλαγη.

Επεξ/σία από jim_p
  • Like 1
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

να σαι καλα, λειτουργησε.

τωρα προσπαθω να το κανω και σε αλλο λαπτοπ που εχω την 18.04 lts και μου βγαζει go version go1.10.3 gccgo (Ubuntu 8.3.0-6ubuntu1~18.04.1) 8.3.0 linux/amd64 . οποτε πάει το ένα και παμε για το αλλο :)

ετοιμο και το δευτερο, ολα καλα. σε ευχαριστω και παλι.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημοσ. (επεξεργασμένο)

Ξεχασα να αναφερω οτι το export blablabla το γραφεις στο τελος του αρχειου. Βασικα, οπουδηποτε μπορεις να το γραψεις, αρκει να ειναι σε ξεχωριστη γραμμη και με προσοχη για να μην σβησεις οτι εχει ηδη μεσα.

Επεξ/σία από jim_p
Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ναι ναι καλα κανεις και το λες. ευτυχως το σκεφτηκα (να το βαλω στο τελος, γιατι να σβησω κατι δεν επαιζε). 
δυστυχως παντως το wsl εχει καποιους περιορισμους. κανω πειραματα εκει και μετα τα περναω σε αυτο που  προσπαθω να φτιαξω, αλλά δε λειτουργει παντα σωστα το wsl. 

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

εγω εχω αυτα:

# golang
export GOPATH="$HOME/go"
export GOBIN="$GOPATH/bin"
export PATH=$PATH:/usr/local/go/bin:$GOBIN

Βολεύει να τρέχεις απευθείας το εκτελέσιμο από το path σου (εφόσον έχεις κάνει go install ή χρησιμοποιείς κάποιο makefile που κάνει το ίδιο πράγμα).

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...