Обновление golang в 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 по умолчанию такой же, как и выше?

Какова будет процедура установки новой версии og golang?

Спасибо.

user3005720
источник
stackoverflow.com/questions/16977703/…
Скотт Стенсланд

Ответы:

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
Gobinath
источник
Мне очень понравился этот ответ, потому что он хорошо описал, как работает система альтернатив Debian ! +1
fgbreel
Это не помогло мне перейти с 1.8 на 1.9. Также не было официального руководства здесь github.com/golang/go/wiki/Ubuntu
Карлом
Это правильное решение, за исключением того, что команда tar недопустима, поэтому достаточно просто указать полное имя файла tar. Благодарность!
Монтаро
Легенда. Большое спасибо! Измените имя файла командной строки tar.
Михаил
работает как шарм, ура!
PKumar
10

Я нашел альтернативное (/ personal) репо с последними версиями , которое все еще живо, затем получил go-1.8 и связал его с путем в вопросе OP. Вот, пожалуйста, сделайте это:

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и, таким образом, пойти с последним и самым большим.

Репо предлагает множество других версий, поэтому вы просто измените номер версии на ex. 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

Для Голанга 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

Для Голанга 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 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
Инан Гумус
источник
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. Пакет go snap будет обновляться автоматически при появлении обновлений.

Карел
источник
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

Ссылка: Go-GitHub-Установка

Беньямин Джафари
источник