Як встановити поточну версію Go в Ubuntu Precision


141

Запуск sudo apt-get install golang-stable, я отримую Go версію go1.0.3. Чи є спосіб встановлення go1.1.1?


1
Врешті-решт мені довелося встановити з джерела. Не всі тести пройшли, але, здається, це працює нормально.
Софія

1
"Не всі тести пройшли, але, здається, це працює нормально." @sofia Яку версію Ubuntu ви використовуєте? Я б не очікував збоїв тесту, якщо ви не запустите дуже стару версію Ubuntu або випадково не встановили "наконечник" проти "стабільний".
voidlogic

Я використовую ubuntu точний. Але встановлення останньої версії з репо-духу / golang не повідомило про жодну проблему, тож не знав, у чому проблема.
Софія

Я також використовую точну. Ви запустили "hg update update" або "hg update release". Якщо ви не пам'ятаєте, огляньтесь у вашому файлі історії баш. Використання наконечника може пояснити невдачі тесту.
voidlogic

1
Ви можете спробувати цей блог railskey.wordpress.com/2014/05/31/install-gogolang-on-ubuntu
Pravin Mishra

Відповіді:


110

Я знайшов репо з найновішими версіями: 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

39
Тож станом на липень 2014 року ця версія більше не має останньої версії Go. Поточна версія 1,3. Спробувавши це на Ubuntu 12.04, я закінчив версію 1.1.1.
425nesp

4
Оновіть це. Станом на вересень 2014 року, я також закінчую "go1.1.2"
Ріккардо

2
Станом на 2014-10-24 я отримав 1.2.1 linux / amd64.
nairware

5
Перевірка 29 березня 2015 року. Цей папа відповідає 404.
btleffler

7
Я використавppa:evarlast/golang1.4
Natim

98

Мені подобається використовувати GVM для управління моїми версіями Go у вікні Ubuntu. Досить проста у використанні, і якщо ви знайомі з RVM, це nobrainer. Це дозволяє встановити кілька версій 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 за замовчуванням, коли ви починаєте новий сеанс терміналу.


1
Мені подобається RVM і завжди користуюся хорошим інструментом у своєму комплекті. Радий побачити, що я потрапляю на Go, що є такий інструмент, як GVM :)
Бренден

2
gvm - те саме ім'я, що і для grails gvm
jcalloway

2
Я просто спробував використовувати GVM під рибною оболонкою, і попередження для тих, хто не використовує bash: GVM буде болем встати та працювати належним чином. Багато з його сценаріїв, наприклад, не мають рядка shebang.
Денніс

веб-сторінка "GVM", на яку посилається https://github.com/moovweb/gvmt, 404 не знайдена. І я неохоче встановлюю все, що, схоже, не має власної процедури оновлення безпеки
nealmcb

Я не згоден, що це так просто, як "встановити gvm" та "gvm use".
kemicofa ghost

35

Я використовував наступні команди з офіційного сховища 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 Repo https://github.com/golang/go/wiki/Ubuntu, схоже, цей ppa завжди буде оновлений у майбутньому.


2
The team named '~ubuntu-lxc' has no PPA named 'ubuntu/lxd-stable'
kenorb

За посиланням:sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
Лі Річардсон

23

[Жовтень 2015] Відповідь, оскільки поточна прийнята відповідь sudo apt-get install golangне оновлена, і якщо ви не хочете встановити, GVMвиконайте ці дії.

Покрокова установка:

  1. Завантажте останню версію тут (ОС: Linux).
  2. Відкрийте свій термінал і перейдіть до каталогу завантажень
  3. sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
  4. Додайте goдо свого шляхуexport PATH=$PATH:/usr/local/go/bin
  5. go version перевірити встановлену поточну версію
  6. Почніть програмування.

Можливі помилки + виправлення: (оновлюється)

Якщо ви зрозуміли, що go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64ви щось зробили не так, перегляньте цю публікацію: Go друкує xgcc версію, але не переходить встановлену версію


у цього немає armv7
Варун

17

я встановлений з джерела. тут є покроковий посібник тут: http://golang.org/doc/install/source


2
так. Установка Go від джерела - найкращий спосіб "Перейти". Оновити цей спосіб також дуже просто.
voidlogic

1
Я дотримувався інструкцій звідси, і це спрацювало для мене дуже приємно golang.org/doc/install#tarball
Богдан

1
Дуже дякую. Я все ще працюю над моїм Ubuntu 14.04, а PPA - ні. :-)
Ionică Bizău

1
Це дратує зараз, коли вам доведеться завантажувати версію 1.5+ з версією 1.4+.
Jocull

7

Ось найпростіший простий і простий метод, який я встановив, щоб встановити, йде на 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 -xzvf 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.

Це не вдалий вибір.

  1. Зміна цього параметра /usr/local/go/binє тимчасовою, і вона буде скинута після закриття терміналу.

  2. go команда працюватиме лише в терміналі, в якому ви змінили значення PATH.

  3. Ви не зможете використовувати будь-яку іншу команду на кшталт ls, nanoабо майже все, тому що все інше є/usr/bin в інших місцях. Усі ці речі перестануть працювати, і вони почнуть створювати помилки.

Однак це постійно і ніщо інше не заважає.


вам потрібно визначити env var GOPATH = / some / dir, а потім визначити PATH = $ {GOPATH} / bin: $ {PATH} для власного коду проекту
Scott Stensland

Так, я використовую VSCode, щоб додати GOPATH, мені просто потрібно відредагувати gopath у налаштуваннях користувача json. Дякуємо за вклад.
Ішан Джайн

У команді tar є невеликий помилок: am64 замість amd64
Адріан Лунгу

1
@AdrianLungu Виправлено це.
Ішан Джайн

1
sudo nano ~. / bashrc -> sudo nano ~ / .bashrc .. також має бути vim: p
GameKyuubi

4
  1. Завантажте скажіть 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

  1. не-тар в /usr/local/bin

sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/

  1. Встановити 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

  1. Перевірте

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"


Привіт, дякую за відповідь, я виконую всі кроки, але щоразу, коли я закликаю "йти версію" замість 1.7, вона приносить 1.4.2. Чи є якісь інші дії, які слід зробити?
Анахіт Сероб’ян

4

Якщо хтось шукає установку Go 1.8, слідкуйте за цим:

sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go

А потім встановити go

sudo apt-get install golang-1.8-go

Для мене працює бездоганно. Дякую!
Гвінет Левелін

1
Не потрібно встановлювати golang-1.8-go, це вже встановлено при установці golang-go. Насправді станом на кінець квітня 2017 року встановлено останню версію версії 1.8.1 . github.com/golang/go/wiki/Ubuntu
firepol

Я думаю, вам також потрібно встановити GOROOT, GOPATH
Nam G VU

Довідка щодо налаштування GOROOT та GOPATH в інших відповідях 1) stackoverflow.com/a/34384978/248616 2) stackoverflow.com/questions/17480044/… Більш офіційна довідка stackoverflow.com/a/10847122/248616
Nam G VU

Для кожного нашого проекту Go встановіть GOPATH = / some / dir, PATH = $ {GOPATH} / bin: $ {PATH}
Nam G VU

4

Для поточного випуску Go:

Мова програмування Go

Починаємо

Завантажте дистрибутив Go

Завантаження

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

Офіційні бінарні дистрибутиви доступні для операційних систем FreeBSD, Linux, macOS та Windows, а також для 32-розрядних (386) та 64-розрядних (amd64) x86 процесорних архітектур.

Якщо бінарний дистрибутив недоступний для вашої комбінації операційної системи та архітектури, ви можете спробувати встановити з джерела або встановити gccgo замість gc.

Встановлення Go від джерела


Установка з джерела насправді дуже швидка. Він збирається швидко, і тести необов’язкові, якщо ви вирішите їх пропустити.
Jeremy Wall

3

Я використовую цю інструкцію для встановлення останньої версії 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


1

У наші дні, згідно з голанг github з для Ubuntu , можна легко встановити останню версію Go за допомогою оснащення:

Використання знімків також непогано працює:

# This will give you the latest version of go
$ sudo snap install --classic go

Можливо, бажано метушитися із застарілими та / або сторонніми договорами


0

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

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

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

0

Найкращий спосіб встановити Go на Ubuntu - це завантажити потрібну версію звідси . Тут ви можете мати всі стабільні версії та випуски, а також архівовані версії.

після завантаження вибраної версії ви можете виконати подальші кроки, я запропоную вам завантажити формат tar.gz для машини ubuntu:

  1. Перш за все, видаліть старішу версію зі свого локального, зробивши це

sudo rm -rf /usr/local/go /usr/local/gocache

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

sudo apt-get purge golang

або

sudo apt remove golang-go
  1. Тепер встановіть / витягніть завантажену версію go into / usr / local / go, натиснувши при цьому термінал

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

  1. виконуючи всі описані вище речі, не забудьте або перевірте GOROOTзначення змінної, ви можете перевірити значення, go envякщо не встановлено тодіexport PATH=$PATH:/usr/local/go
  2. Краще протестуйте невелику програму go, щоб переконатися. запишіть це всередину, /home/yourusername/go/test.phpякщо ви не змінили встановлене GOPATHзначення:
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. запустити це go run test.go

Я сподіваюся, що це працює для вас !!


0

А може, ви могли використовувати цей сценарій для встановлення Go та LiteIDE?

Якщо ви незадоволені наданою відповіддю, будь ласка, коментуйте замість того, щоб голосувати наосліп. Я користувався цим налаштуванням протягом останніх 4 років без жодних проблем.


-1
  1. Якщо у вас є ubuntu-mate, ви можете встановити останню програму:

    умаке йти

  2. У мене є сценарій для завантаження та встановлення останнього переходу з офіційного веб-сайту

     # 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

-1

Ви можете використовувати сценарій від udhos/update-golang.

Ось приклад із двох лайнерів (run as 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/
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.