Оновлення голангу на Ubuntu


30

У мене є Ubuntu 14.4.03. Версія за замовчуванням, golangяка поставляється разом з нею, була 1.2.1. Я хотів би оновитиgolang до 1,4 або вище.

Після пошуку я знайшов спосіб зробити це: спочатку видалити поточну установку go, а потім перевстановити нову версію.

Я знайшов наступні інсталяційні файли go у наступному каталозі:

/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

Який каталог містить що? Які з них слід видалити? Яким має бути розташування нової установки? Здається, / usr / local - це нормальніше. Тоді як за замовчуванням Ubuntu як вище?

Якою буде процедура встановлення нової версії та голанг?

Спасибі.


Відповіді:


8

Спочатку видаліть поточну golangустановку за допомогою цієї команди, вам не потрібно видаляти файли, встановлені вручну apt-get,

sudo apt-get purge golang

Для легкої установки golang 1.4ви можете використовувати цей PPA

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

Тепер ви можете використовувати

sudo apt-get install golang

Тут буде встановлена ​​версія 1.4, ось посилання на PPA.


Зараз це не працює, оскільки ppa видалено. Наступна відповідь працює
Хіманшу Шарма

45

ppa:evarlast/golang1.4не працює для мене. Нижче наведено ручний спосіб установки Go.

Крок 1 : Видаліть існуючий голанг

sudo apt-get purge golang*

Крок 2. Завантажте останню версію з офіційного сайту. Натисніть тут

Крок 3 : Витягніть його в / usr / local за допомогою наступної команди. Я тут використовую Go 1.11.4. Можливо, вам доведеться замінити ім’я файлу фактичним іменем файлу на основі завантаженої версії.

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

Крок 4 : Створіть .go каталог вдома. (Встановити необхідні пакети без права адміністратора легко)

mkdir ~/.go

Крок 5 : Налаштуйте такі змінні середовища

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

Перевірте цю відповідь AskUbuntu, як постійно встановлювати змінні середовища .

Крок 6 : Оновіть команду 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

Крок 7 : Перевірте golangверсію

go version

Мені дуже сподобалась ця відповідь, оскільки вона добре описала, як працює система Debian Alternatives ! +1
fgbreel

Мені не вдалося оновити з 1,8 до 1,9. Ні зробив офіційне керівництво тут github.com/golang/go/wiki/Ubuntu
Karlom

Це правильне рішення, за винятком того, що команда tar не є дійсною. Це добре, щоб просто вказати повне ім'я файлу tar. Спасибі!
Монтаро

Легенда. Велике спасибі! Змініть ім'я файлу командного рядка tar.
Михайло

працює як шарм, ура!
PKumar

10

Я знайшов альтернативне (/ персональне) репо з останніми версіями , яке все ще живе, потім отримав go-1.8 і пов'язав його зі шляху в питанні про ОП. Ось розбийте це:

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

Тепер я можу просто сказати go1.8замість цього, goі таким чином перейти до останнього та найкращого.

Репо пропонує багато інших версій, щоб ви просто змінили номер версії на колишню. 1.4в сценарії / командах вище.


8

Для Golang 1.8 на Ubuntu 17.04 Zesty до 17.10 Майстерно:

# 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

Для Golang 1.9 на Ubuntu 17.10 Майстерно до 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

Для Golang 1.10 на Ubuntu 18.04 Bionic та 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

3

Простота встановлення та оновлення

Використовуйте диспетчер версій Go

# 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

3

Ви також можете використовувати скрипт update-golang:

update-golang - це сценарій, що дозволяє легко отримати та встановити нові Golang-релізи з мінімальним вторгненням у систему

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

3

IMG:  Щоб встановити останню версію мови програмування Go у всіх підтримуваних на даний момент версіях Ubuntu, відкрийте термінал і введіть:

sudo snap install go --classic --channel stable 

Цей оснащення надає бібліотеці для збирання, компілятора, лінкера та компільованих бібліотек для мови програмування Go. Крім стабільних, існують і інші канали, але стабільний канал - це остання версія мови програмування Go. Пакет швидкого оновлення буде оновлений автоматично, коли будуть доступні оновлення.


0

Я використовую цю інструкцію для встановлення останньої версії IMG:

  1. Видаліть існуючу версію Go:

    sudo apt-get purge golang*
    
  2. Встановіть останню версію Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Створіть .profileфайл із домашнього шляху за допомогою цього вмісту:

    # ~/.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. Встановити робочу область Go на змінну середовища:

    GOPATH=~/.go
    
  5. Застосувати .profileконфігурацію:

    source ~/.profile
    

Тест:

$ go version
go version go1.11.1 linux/amd64

Ref: Go-GitHub-Installation

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.