Обновление golang в Ubuntu
У меня 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?
Благодарю.
12 ответов
Сначала удалите свой текущий 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: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
Я нашел альтернативное (/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
в сценарии / команды выше.
Чтобы установить последнюю версию языка программирования Go во всех поддерживаемых в настоящее время версиях Ubuntu, откройте терминал и введите:
sudo snap install go --classic --channel stable
Эта оснастка предоставляет ассемблер, компилятор, компоновщик и скомпилированные библиотеки для языка программирования Go. Помимо стабильного, есть и другие каналы, но стабильный канал - это последняя версия языка программирования Go. Пакет go snap будет обновляться автоматически при появлении обновлений.
Для 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
Вы также можете использовать скрипт update-golang:
update-golang - это скрипт для простой загрузки и установки новых версий Golang с минимальным вмешательством в систему.
git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
Простота установки и обновления
Используйте 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
Удалить существующий голанг
sudo apt-get purge golang*
Установите оснастку, если еще не установлен
sudo apt update
sudo apt install snapd
Установить через оснастку
sudo snap install go --classic
Узнайте последнюю версию: https://golang.org/dl/
sudo apt-get purge golang* # in case there is old version of go is installed
tar_name="go1.15.8.linux-amd64.tar.gz" # get latest version from https://golang.org/dl/
wget https://golang.org/dl/$tar_name
tar -xvf $tar_name
rm -f $tar_name
sudo rm -rf /usr/local/go
sudo mv go /usr/local
# Add following lines into `.bashrc` or `.zshrc`
mkdir -p $HOME/go
export GOPATH=$HOME/go
export GOROOT=/usr/local/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
Я использую эту инструкцию для установки последней версии
Удалить существующую версию Go:
sudo apt-get purge golang*
Установите последнюю версию Go:
sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
Создать
.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"
Установите для рабочей области Go переменную среды:
GOPATH=~/.go
Применить
.profile
конфигурация:source ~/.profile
Тестовое задание:
$ go version
go version go1.11.1 linux/amd64
Ссылка: Go-GitHub-Установка
Согласно официальным документам .
- Сначала удалите любую предыдущую версию Golang, используя
sudo rm -rf /usr/local/go
./usr/local/go
это местоположение по умолчанию, но если вы не уверены, проверьте его, используяwhich go
. - Загрузите бинарный файл отсюда . затем извлеките архив, который вы только что скачали, в
/usr/local
запустивsudo tar -C /usr/local -xzf go1.18.linux-amd64.tar.gz
. Обязательно запустите эту команду там, где вы только что скачали tar-файл. - Проверьте новую версию по
go version
.