Как установить текущую версию Go в Ubuntu Precise
Бег sudo apt-get install golang-stable
, Я получаю версию Go go1.0.3
, Есть ли способ установить go1.1.1
?
20 ответов
Я нашел репозиторий с последними версиями: https://launchpad.net/~duh/+archive/golang/+packages. Так что в основном делать:
sudo apt-get install python-software-properties # 12.04
sudo add-apt-repository ppa:duh/golang
sudo apt-get update
sudo apt-get install golang
Подтвердить:
go version
какие выводы в моем случае (Ubuntu точный)
go version go1.1.1 linux/amd64
Оттуда просто экспортируйте настройки, которые вам понадобятся в bash_rc или эквивалентный:
export GOROOT=/usr/lib/go
export GOBIN=/usr/bin/go
Мне нравится использовать GVM для управления версиями Go в моем Ubuntu box. Довольно прост в использовании, и если вы знакомы с RVM, это нобрейнер. Это позволяет вам иметь несколько версий Go, установленных в вашей системе, и переключаться между любыми версиями, которые вы хотите в любой момент времени.
Установите GVM с:
sudo apt-get install bison mercurial
bash < <(curl -LSs 'https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer')
. "$HOME/.gvm/scripts/gvm"
и тогда это так же просто, как сделать это:
gvm install go1.1.1
gvm use go1.1.1 --default
Флаг по умолчанию в конце второй команды будет устанавливать go1.1.1 как версию Go по умолчанию при каждом запуске нового сеанса терминала.
Я использовал следующие команды из официального репозитория GoLang, он установил GoLang версии 1.6 на мою Ubuntu 14.04
sudo add-apt-repository ppa:ubuntu-lxc/lxd-stable
sudo apt-get update
sudo apt-get install golang
Ссылка на официальный репозиторий GoLang https://github.com/golang/go/wiki/Ubuntu кажется, этот ppa всегда будет обновляться в будущем.
[Октябрь 2015] Ответ, потому что текущий принятый ответ sudo apt-get install golang
не обновляется, и если вы не хотите устанавливать GVM
Следуй этим шагам.
Пошаговая установка:
- Загрузите последнюю версию здесь (ОС: Linux).
- Откройте свой терминал и перейдите в каталог загрузок
sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
- добавлять
go
на ваш путьexport PATH=$PATH:/usr/local/go/bin
go version
проверить установленную версию- Начните программировать.
Возможные ошибки + исправления: (будет обновлено)
Если вы получите go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64
тогда вы сделали что-то не так, так что проверьте этот пост: Go печатает версию xgcc, но не устанавливает версию
Я установил из источника. здесь есть пошаговое руководство: http://golang.org/doc/install/source
Я использую эту инструкцию для установки последней версии
Удалить существующую версию 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-Установка
Вот самый простой и простой способ, который я нашел, чтобы установить go на Ubuntu 14.04 без какого-либо ppa или какого-либо другого инструмента.
На данный момент версия GO составляет 1,7
Получите Go 1.7.tar.gz используя wget
wget https://storage.googleapis.com/golang/go1.7.linux-amd64.tar.gz
Распакуйте его и скопируйте в /usr/local/
sudo tar -C /usr/local -xvf go1.7.linux-amd64.tar.gz
Вы успешно установили GO. Теперь вы должны установить переменные среды, чтобы вы могли использовать go
команда из любого места.
Для этого нам нужно добавить строку в .bashrc
Так,
sudo nano ~/.bashrc
и добавьте следующую строку в конец файла.
export PATH="/usr/local/go/bin:$PATH"
Теперь все команды в go/bin
буду работать.
Проверьте, была ли установка успешной, выполнив
go version
Для автономной документации вы можете сделать
godoc -http=:6060
Оффлайн-документация будет доступна на http://localhost:6060
НОТА:
Некоторые люди здесь предлагают изменить переменную PATH.
Это не хороший выбор.
Меняя это на
/usr/local/go/bin
временно и сбрасывается после закрытия терминала.go
Команда будет работать только в терминале, в котором вы изменили значение PATH.Вы не сможете использовать другие команды, такие как
ls, nano
или просто обо всем, потому что все остальное в/usr/bin
или в других местах. Все эти вещи перестанут работать, и это начнет давать вам ошибку.
Тем не менее, это постоянно и не мешает ничему другому.
Если кто-то ищет установку Go 1.8, выполните следующие действия:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go
А потом установить иди
sudo apt-get install golang-1.8-go
Для текущей версии Go:
Нажмите на ссылку выше, чтобы перейти на страницу загрузок проекта Go и выбрать бинарный дистрибутив, соответствующий вашей операционной системе и архитектуре процессора.
Официальные бинарные дистрибутивы доступны для операционных систем FreeBSD, Linux, Mac OS X (Snow Leopard, Lion и Mountain Lion), NetBSD и Windows, а также 32-битных (386) и 64-битных (amd64) процессорных архитектур x86.
Если двоичный дистрибутив недоступен для вашей комбинации операционной системы и архитектуры, вы можете попробовать установить его из исходного кода или установить gccgo вместо gc.
- Скачать скажем,
go1.6beta1.linux-amd64.tar.gz
с https://golang.org/dl/ в/tmp
wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz
- распаковать в
/usr/local/bin
sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/
- Установите GOROOT, GOPATH, [в Ubuntu и добавьте следующее в ~/.bashrc]
mkdir ~/go
export GOPATH=~/go
export PATH=$PATH:$GOPATH/bin
export GOROOT=/usr/local/bin/go
export PATH=$PATH:$GOROOT/bin
- проверить
go version
должен показать быть
go version go1.6beta1 linux/amd64
go env
должен показать быть
GOARCH="amd64" GOBIN="" GOEXE="" GOHOSTARCH="amd64" GOHOSTOS="linux" GOOS="linux" GOPATH="/home/vats/go" GORACE="" GOROOT="/usr/local/bin/go" GOTOOLDIR="/usr/local/bin/go/pkg/tool/linux_amd64" GO15VENDOREXPERIMENT="1" CC="gcc" GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0" CXX="g++" CGO_ENABLED="1"
В наши дни, согласно golang github для Ubuntu, можно легко установить последнюю версию Go с помощью оснастки:
Также неплохо работает использование снимков:
# This will give you the latest version of go
$ sudo snap install --classic go
Потенциально предпочтительнее возиться с устаревшими и / или сторонними PPA
В недавней Ubuntu (20.10)
sudo apt-get install golang
работает отлично; он установит версию 1.14.
Или, может быть, вы могли бы использовать этот скрипт для установки Go и LiteIDE?
Вы также можете использовать скрипт update-golang:
update-golang - это скрипт для простой загрузки и установки новых версий Golang с минимальным вмешательством в систему.
git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
После приведенных выше команд и настройки среды go. Вы попытались запустить программу go, она покажет вамgo: no such tool "compile"
если вы столкнулись с тем же, перейдите по ссылке нижеhttps://stackoverflow.com/a/76550511/22128545
Это старый вопрос, в 2022 году ему почти больше 9 лет. Но я считаю важным автоматизировать эту установку.
Требования:
- Это было протестировано на Ubuntu 18 и 20.
- Пользователь Sudoer, вы должны уметь использовать
sudo
.
Монтаж:
- Создайте новый файл с помощью этой команды:
touch ~/go-installer.sh
- Отредактируйте файл с помощью любого доступного редактора, например, vi, vim или nano.
nano ~/go-installer.sh
- Мимо этого скрипта:
#!/bin/bash
## Define version and build
VERSION=1.19
BUILD=4
## Define package name
PKG_NAME='go'
## Define go official url
GO_URL='https://golang.org/dl/'
## Define local path
LOCAL_PATH='/usr/local'
## Define system library path
LIB_PATH='/usr/lib'
## Define system binary path
BIN_PATH='/usr/bin'
## Define EV script filename
EV_FILE='/etc/profile.d/go-bin-path.sh'
## Defile export path command
EXPORT_CMD='export PATH=$PATH:/usr/local/go/bin'
## Define script content
SCRIPT='#!/bin/sh\n'${EXPORT_CMD}
## Define user home dir
USER_HOME_DIR=$(getent passwd ${SUDO_USER:-$USER} | cut -d: -f6)
check_command() {
[ -x "$(command -v $PKG_NAME)" ] && echo 0 || echo 1
}
test_package() {
echo
code=$(check_command)
[ $code -eq 0 ] && go version || echo "Error: $PKG_NAME is not installed." >&2
exit $code
}
is_sudoer() {
## Define error code
E_NOTROOT=87 # Non-root exit error.
## check if is sudoer
if ! $(sudo -l &>/dev/null); then
echo 'Error: root privileges are needed to run this script'
return $E_NOTROOT
fi
return 0
}
if is_sudoer; then
## Remove previous package versions
status="$(dpkg-query -W --showformat='${db:Status-Status}' ${PKG_NAME} 2>&1)"
if [ $? = 0 ] || [ "${status}" = installed ]; then
sudo apt remove --purge --auto-remove -y "${PKG_NAME}"
fi
pkg_path="${LOCAL_PATH}/go"
pkg_lib_path="${LIB_PATH}/go"
## Download the latest version available.
[ "$BUILD" -eq "0" ] && version_build="${VERSION}" || version_build="${VERSION}.${BUILD}"
mkdir "${USER_HOME_DIR}/tmp"
cd "${USER_HOME_DIR}/tmp"
wget "${GO_URL}go${version_build}.linux-amd64.tar.gz"
## Extract and install the downloaded version
if [ -f "go${version_build}.linux-amd64.tar.gz" ]; then
sudo rm -rf "${pkg_path}" && sudo tar -xzvf "go${version_build}.linux-amd64.tar.gz" -C "${LOCAL_PATH}"
## Add symbolic link binary files to system binary and library directories
if [ ! -h "${pkg_lib_path}" ]; then
sudo ln -sv "${pkg_path}" "${pkg_lib_path}"
fi
binaries='go gofmt'
for i in $binaries; do
if [ ! -h "${BIN_PATH}/${i}" ]; then
sudo ln -sv "${pkg_lib_path}/bin/${i}" "${BIN_PATH}/${i}"
fi
done
## Test your new version.
test_package
else
echo "Error: tar file does not exits." >&2
exit 1
fi
else
exit $?
fi
- Дайте разрешение на запуск файла:
sudo chmod -v u+x ~/go-installer.sh
- Запустите скрипт:
./go-installer.sh
Он вернет что-то вроде этого:
...
go/test/used.go
go/test/utf.go
go/test/varerr.go
go/test/varinit.go
go/test/winbatch.go
go/test/writebarrier.go
go/test/zerodivide.go
'/usr/lib/go' -> '/usr/local/go'
'/usr/bin/go' -> '/usr/lib/go/bin/go'
'/usr/bin/gofmt' -> '/usr/lib/go/bin/gofmt'
go version go1.19.4 linux/amd64
teocci@ubuntu:~$
- Проверьте свою установку:
go version
Теперь Go станет глобальным и сможет работать где угодно.
Перейдите на сайт https://go.dev/doc/install . Нажмите кнопку «Загрузить 1.21.3» (любую последнюю версию, которую вы хотите установить). Загрузите версию, используя ссылку go1.21.3.linux-amd64.tar.gz. Типsudo rm -rf /usr/local/go && sudo tar -C /usr/local -xzf go1.21.3.linux-amd64.tar.gz
Установите переменные среды
export GOROOT=/usr/local/go
export GOPATH=${HOME%}/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export PATH = $PATH:$HOME
Теперь введитеgo version
вы получите свою версию Go
Лучший способ установить Go на Ubuntu - скачать необходимую версию отсюда. Здесь вы можете иметь все стабильные и выпуски, а также архивные версии.
После загрузки выбранной версии вы можете выполнить дальнейшие действия, я предложу вам скачать формат tar.gz для машины с Ubuntu:
- прежде всего полностью удалите старую версию из вашего локального, выполнив это
sudo rm -rf /usr/local/go /usr/local/gocache
это удалит всю локальную базу кода go, но подождите что-то еще, что мы должны сделать, чтобы полностью удалить из локального, я пропустил этот шаг, и потребовалось так много времени, пока я не понял, чего мне не хватает, так что вот что нужно удалить из список
sudo apt-get purge golang
или же
sudo apt remove golang-go
- Теперь установите / распакуйте загруженную версию go внутри / usr / local / go, нажав на терминал с этим
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz
- выполнив все вышеперечисленное, не забудьте или проверьте
GOROOT
значение переменной вы можете проверить значение поgo env
если не установлено тоexport PATH=$PATH:/usr/local/go
- Лучше проверить небольшую программу go, чтобы убедиться. напиши это внутри
/home/yourusername/go/test.php
если вы не изменили наборGOPATH
значение:
package main import "fmt" func main() { fmt.Println("hello world") }
- запустить это мимо
go run test.go
Я надеюсь, что это работает для вас!
Вы можете использовать скрипт из udhos/update-golang
,
Вот пример с двумя строками (запускается как root
):
bash <(curl -s https://raw.githubusercontent.com/udhos/update-golang/master/update-golang.sh)
ln -vs /usr/local/go/bin/go* /usr/local/bin/
Вот демо:
Если у вас есть Ubuntu-Mate, вы можете установить последнюю версию go:
умей идти
У меня есть скрипт для скачивания и установки последней версии с официального сайта
# Change these varialbe to where ever you feel comfortable DOWNLOAD_DIR=${HOME}/Downloads/GoLang INSTALL_DIR=${HOME}/App function install { mkdir -p ${DOWNLOAD_DIR} cd ${DOWNLOAD_DIR} echo "Fetching latest Go version..." typeset VER=`curl -s https://golang.org/dl/ | grep -m 1 -o 'go\([0-9]\)\+\(\.[0-9]\)\+'` if uname -m | grep 64 > /dev/null; then typeset ARCH=amd64 else typeset ARCH=386 fi typeset FILE=$VER.linux-$ARCH if [[ ! -e ${FILE}.tar.gz ]]; then echo "Downloading '$FILE' ..." wget https://storage.googleapis.com/golang/${FILE}.tar.gz fi echo "Installing ${FILE} ..." tar zxfC ${FILE}.tar.gz ${INSTALL_DIR} echo "Go is installed" } install
Настройте GOROOT, GOPATH и PATH:
export GOROOT=${INSTALL_DIR}/go
export GOPATH=<your go path>
export PATH=${PATH}:${GOROOT}/bin:${GOPATH}/bin