Обновление 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?

Спасибо.


Ответы:


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 ! +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-Установка

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.