Memperbarui golang di Ubuntu

30

Saya memiliki Ubuntu 14.4.03. Versi default golangyang menyertainya adalah 1.2.1. Saya ingin memperbarui golangke 1.4 atau lebih tinggi.

Setelah mencari saya menemukan cara untuk melakukan ini adalah untuk menghapus instalasi go saat ini dan kemudian menginstal ulang versi baru.

Saya menemukan file instalasi go berikut di direktori berikut:

/usr/share/go
/usr/share/go/src/cmd/go
/usr/share/go/src/pkg/go
/usr/lib/go
/ur/lib/go/pkg/linux_amd64/go
/ur/lib/go/pkg/linux_amd64_race/go
/usr/bin/go

Direktori mana yang berisi apa? Mana yang harus saya hapus? Apa yang seharusnya menjadi lokasi instalasi baru? Tampaknya / usr / lokal lebih normal. Lalu bagaimana bisa default Ubuntu seperti di atas?

Bagaimana prosedur untuk menginstal versi baru dan golang?

Terima kasih.

pengguna3005720
sumber

Jawaban:

8

Pertama-tama hapus golanginstalasi Anda saat ini dengan perintah ini, Anda tidak perlu menghapus secara manual file yang diinstal oleh apt-get,

sudo apt-get purge golang

Untuk pemasangan yang mudah, golang 1.4Anda dapat menggunakan PPA ini

sudo add-apt-repository ppa:evarlast/golang1.4
sudo apt-get update

Sekarang kamu bisa menggunakannya

sudo apt-get install golang

Ini akan menginstal versi 1.4, di sini ada tautan ke PPA.

Mark Kirby
sumber
Ini tidak berfungsi sekarang karena ppa dihapus. Jawaban berikutnya berhasil
Himanshu sharma
45

ppa:evarlast/golang1.4tidak bekerja untuk saya. Cara manual menginstal Go diberikan di bawah ini.

Langkah 1 : Hapus golang yang ada

sudo apt-get purge golang*

Langkah 2 : Unduh versi terbaru dari situs resmi. Klik disini

Langkah 3 : Ekstrak di / usr / local menggunakan perintah berikut. Saya menggunakan Go 1.11.4 di sini. Anda mungkin perlu mengganti nama file dengan nama file aktual berdasarkan versi yang telah Anda unduh.

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

Langkah 4 : Buat direktori .go di rumah. (Mudah untuk menginstal paket yang diperlukan tanpa hak admin)

mkdir ~/.go

Langkah 5 : Atur variabel lingkungan berikut

GOROOT=/usr/local/go
GOPATH=~/.go
PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Periksa jawaban AskUbuntu ini untuk cara mengatur variabel lingkungan secara permanen.

Langkah 6 : Perbarui perintah go

sudo update-alternatives --install "/usr/bin/go" "go" "/usr/local/go/bin/go" 0
sudo update-alternatives --set go /usr/local/go/bin/go

Langkah 7 : Uji golangversinya

go version
Gobinath
sumber
Saya sangat menyukai jawaban ini karena ini menggambarkan dengan baik bagaimana Sistem Alternatif Debian bekerja! +1
fgbreel
Ini tidak berhasil bagi saya untuk meningkatkan dari 1,8 menjadi 1,9. Juga tidak ada panduan resmi di sini github.com/golang/go/wiki/Ubuntu
Karlom
Ini adalah solusi yang tepat kecuali bahwa perintah tar tidak valid, yang boleh saja memberikan nama lengkap file tar Anda. Terima kasih!
Montaro
Legenda. Terima kasih banyak! Ubah nama file baris perintah tar itu.
Mihailo
bekerja seperti pesona, tepuk tangan!
PKumar
10

Saya telah menemukan repo alternatif (/ pribadi) dengan versi terbaru , yang masih hidup, kemudian mendapatkan go-1.8 dan menautkannya dari jalur di pertanyaan OP. Berikut ini bash di:

sudo add-apt-repository ppa:gophers/archive
sudo apt-get update

sudo apt-get install golang-1.8

sudo ln /usr/lib/go-1.8/bin/go /usr/bin/go1.8

Sekarang saya hanya bisa mengatakan dan go1.8bukannya gopergi dengan yang terbaru & terhebat.

Repo menawarkan banyak versi lain sehingga Anda hanya perlu mengubah nomor versi menjadi ex. 1.4dalam skrip / perintah di atas.

Sangat besar
sumber
8

Untuk Golang 1.8 di Ubuntu 17.04 Zesty ke 17.10 Artful:

# sudo apt update
# sudo apt install golang-1.8 golang-1.8-doc
# for bin in /usr/lib/go-1.8/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done

Untuk Golang 1.9 di Ubuntu 17.10 Artful to 18.04 Bionic:

# sudo apt update
# sudo apt install golang-1.9 golang-1.9-doc
# for bin in /usr/lib/go-1.9/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done

Untuk Golang 1.10 pada Ubuntu 18.04 Bionic dan 18.10 Cosmic:

# sudo apt update
# sudo apt install golang-1.10 golang-1.10-doc
# for bin in /usr/lib/go-1.10/bin/* ; do
    sudo update-alternatives --install /usr/bin/$(basename $bin) $(basename $bin) $bin 0
    sudo update-alternatives --set $(basename $bin) $bin
  done
Patrick Decat
sumber
3

Instal dan perbarui dengan mudah

Gunakan Go Version Manager

# Add basic packages
sudo apt-get install curl git mercurial make binutils bison gcc build-essential

# Install GVM
bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)

# Install which version you want to install
gvm install go1.9

# Use it as default version
gvm use go1.9 --default
Inanc Gumus
sumber
3

Anda juga dapat menggunakan skrip pembaruan-golang:

update-golang adalah skrip untuk dengan mudah mengambil dan menginstal rilis Golang baru dengan intrusi sistem minimum

git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
Everton
sumber
3

IMG:  Untuk menginstal versi terbaru dari bahasa pemrograman Go di semua versi Ubuntu yang saat ini didukung buka terminal dan ketik:

sudo snap install go --classic --channel stable 

Snap ini menyediakan assembler, compiler, linker, dan perpustakaan yang dikompilasi untuk bahasa pemrograman Go. Ada saluran lain selain stabil, tetapi saluran stabil adalah versi terbaru dari bahasa pemrograman Go. Paket snap go akan diperbarui secara otomatis ketika pembaruan tersedia.

karel
sumber
0

Saya menggunakan instruksi ini untuk menginstal versi terbaru IMG:

  1. Hapus versi Go yang ada:

    sudo apt-get purge golang*
    
  2. Pasang versi terbaru Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Buat .profilefile di jalur beranda dengan konten ini:

    # ~/.profile: executed by the command interpreter for login shells.
    # This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
    # exists.
    # see /usr/share/doc/bash/examples/startup-files for examples.
    # the files are located in the bash-doc package.
    
    # the default umask is set in /etc/profile; for setting the umask
    # for ssh logins, install and configure the libpam-umask package.
    #umask 022
    
    # if running bash
    if [ -n "$BASH_VERSION" ]; then
        # include .bashrc if it exists
        if [ -f "$HOME/.bashrc" ]; then
            . "$HOME/.bashrc"
        fi
    fi
    
    # set PATH so it includes user's private bin directories
    PATH="$HOME/bin:$HOME/.local/bin:$PATH"
    
  4. Setel ruang kerja Go ke variabel lingkungan:

    GOPATH=~/.go
    
  5. Terapkan .profilekonfigurasi:

    source ~/.profile
    

Uji:

$ go version
go version go1.11.1 linux/amd64

Ref: Go-GitHub-Installation

Benyamin Jafari
sumber