Ubuntu Precise에서 현재 버전의 Go를 설치하는 방법


141

달리기 sudo apt-get install golang-stable, 나는 Go 버전을 얻는다 go1.0.3. 설치 방법이 go1.1.1있습니까?


1
결국 나는 소스에서 설치해야했다. 모든 테스트가 통과되지는 않았지만 정상적으로 작동하는 것 같습니다.
Sofia

1
"모든 테스트가 통과 된 것은 아니지만 제대로 작동하는 것 같습니다." @sofia 어떤 버전의 Ubuntu를 사용하고 있습니까? 이전 버전의 Ubuntu를 실행 중이거나 실수로 "tip"대 "stable"을 설치하지 않으면 테스트 실패를 예상하지 않습니다.
voidlogic

나는 우분투를 정확하게 사용하고 있습니다. 그러나 repo duh / golang에서 최신 버전을 설치해도 문제가보고되지 않았으므로 문제가 무엇인지 확실하지 않습니다.
Sofia

나는 또한 정확한 것을 사용하고 있습니다. "hg 업데이트 팁"또는 "hg 업데이트 릴리스"를 실행 했습니까? 기억이 나지 않으면 bash 기록 파일을 다시 살펴보십시오. 팁을 사용하면 테스트 실패를 설명 할 수 있습니다.
voidlogic

답변:


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

내 경우에는 어떤 출력 (우분투 정확한)

go version go1.1.1 linux/amd64

거기에서 bash_rc 또는 이와 동등한 설정을 내보내십시오.

export GOROOT=/usr/lib/go
export GOBIN=/usr/bin/go

39
따라서 2014 년 7 월 현재이 버전에는 더 이상 최신 버전의 Go가 없습니다. 현재 버전은 1.3입니다. Ubuntu 12.04에서 이것을 시도한 후 버전 1.1.1로 끝났습니다.
425nesp

4
이것을 업데이트하십시오. 2014 년 9 월 현재, 나는 또한 "go1.1.2"
Riccardo

2
2014-10-24 현재 1.2.1 linux / amd64를 받았습니다.
nairware

5
2015 년 3 월 29 일에 체크인. 그 ppa는 404로 응답합니다.
btleffler

7
내가 사용ppa:evarlast/golang1.4
Natim

98

우분투 상자에서 Go 버전을 관리 하기 위해 GVM 을 사용 하고 싶습니다. 사용하기 매우 간단하며 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 버전으로 설정합니다.


1
나는 RVM을 좋아하고 항상 내 키트에서 좋은 도구를 즐깁니다. Go에 들어가서 GVM과 같은 도구가 있다는 것을 알게되어 기쁘다 :)
Brenden

2
gvm은 grails와 동일합니다. gvm
jcalloway

2
방금 피쉬 쉘에서 GVM을 사용하려고 시도했으며 bash를 사용하지 않는 사람들에게 경고했습니다 .GVM은 올바르게 시작하고 실행하는 데 어려움이 있습니다. 많은 스크립트에는 예를 들어 shebang 줄이 없습니다.
Dennis

참조 된 "GVM"웹 페이지를 https://github.com/moovweb/gvmt찾을 수 없습니다. 그리고 자체 보안 업데이트 절차가없는 것 같은 것을 설치하는 것을 꺼려합니다.
nealmcb

"gvm install"및 "gvm use"만큼 쉽다는 것에 동의하지 않습니다.
kemicofa ghost

35

GoLang 공식 저장소 에서 다음 명령을 사용 하여 Ubuntu 14.04에 GoLang 버전 1.6 을 설치 했습니다.

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 년 10 월] 현재 허용되는 답변 sudo apt-get install golang이 최신 상태가 아니므로 설치하지 않으려면 GVM다음 단계를 따르십시오.

단계별 설치 :

  1. 여기 에서 최신 버전을 다운로드 하십시오 (OS : 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. 프로그래밍을 시작하십시오.

가능한 오류 + 수정 : (업데이트 됨)

a를 얻는다면 go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64뭔가 잘못한 것이므로이 게시물을 확인하십시오 .Go는 xgcc 버전을 인쇄하고 있지만 설치된 버전은 아닙니다.


이것은 armv7을 가지고 있지 않습니다
Varun

17

소스에서 설치했습니다. 단계별 자습서가 있습니다. http://golang.org/doc/install/source


2
예. 소스에서 Go를 설치하는 것이 "Go"에 가장 좋은 방법입니다. 그런 식으로 업데이트하는 것도 매우 쉽습니다.
voidlogic

1
나는 여기에서 지시를 따랐고 그것은 나를 위해 정말로 좋았다 golang.org/doc/install#tarball
Bogdan

1
정말 고맙습니다. PPA는 그렇지 않은 동안 여전히 우분투 14.04에서 작업하고 있습니다. :-)
Ionică Bizău 15:43에

1
1.4 이상 빌드로 1.5 이상을 부트 스트랩해야한다는 것은 이제 성가신 일입니다.
jocull

7

다음은 내가 ppa 나 다른 도구없이 Ubuntu 14.04에 설치하는 가장 간단하고 간단한 방법입니다.

현재 GO의 버전은 1.7입니다.

wget을 사용하여 Go 1.7.tar.gz 가져 오기

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 So에 라인을 추가해야합니다 .

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를 추가하기 위해 사용자 설정 json에서 gopath를 편집하면됩니다. 입력 해 주셔서 감사합니다.
Ishan Jain

tar 명령에는 작은 오타가 있습니다. amd64 대신 am64
Adrian Lungu

1
@AdrianLungu 수정했습니다.
Ishan Jain

1
sudo를 나노 ~ / bashrc에 -> sudo를 나노 ~ / .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 대신 "go version"을 호출 할 때마다 1.4.2 가져옵니다. 수행해야 할 다른 조치가 있습니까?
Anahit Serobyan

4

누군가가 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

완벽하게 작동합니다. 감사!
기네스 Llewelyn

1
설치할 필요가 없습니다 . golang-1.8-go설치할 때 이미 설치되어 golang-go있습니다. 실제로 2017 년 4 월 말 기준으로 최신 버전 인 go 1.8.1 이 설치됩니다. github.com/golang/go/wiki/ 우분투
firepol

난 당신이 또한 GOROOT, GOPATH 설정해야 할 것 같아요
남 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 프로세서 아키텍처에서 사용할 수 있습니다.

운영 체제 및 아키텍처 조합에 바이너리 배포판을 사용할 수없는 경우 소스에서 설치하거나 gc 대신 gccgo를 설치하려고 할 수 있습니다.

소스에서 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

참조 : Go-GitHub 설치


1

요즘 Ubuntu 용 golang github 에 따르면 스냅을 통해 최신 버전의 Go를 쉽게 설치할 수 있습니다.

스냅을 사용하면 매우 잘 작동합니다.

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

구식 및 / 또는 타사 PPA로 소란하는 것보다 잠재적으로 바람직 함


0

update-golang 스크립트를 사용할 수도 있습니다.

update-golang 은 시스템 침입을 최소화하면서 새로운 Golang 릴리스를 쉽게 가져오고 설치하는 스크립트입니다.

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

0

Go on Ubuntu를 설치하는 가장 좋은 방법은 여기 에서 필요한 버전을 다운로드하는 입니다. 여기에서 아카이브 된 버전과 함께 모든 안정 및 릴리스를 가질 수 있습니다.

선택한 버전을 다운로드 한 후 추가 단계를 수행 할 수 있습니다. 우분투 컴퓨터에 tar.gz 형식을 다운로드하는 것이 좋습니다.

  1. 먼저이 작업을 수행하여 로컬에서 이전 버전을 완전히 제거하십시오.

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

이것은 모든 로컬 이동 코드베이스를 제거하지만 로컬에서 완전히 제거하기 위해 더 많은 것을 기다려야합니다.이 단계가 누락되었으며 내가 누락 된 것을 이해할 때까지 너무 많은 시간이 걸렸으므로 여기에서 제거 할 제거 항목이 있습니다. 명부

sudo apt-get purge golang

또는

sudo apt remove golang-go
  1. 이제 / usr / local / go에 다운로드 한 버전의 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. 우분투 메이트가 있다면 최신 버전으로 설치할 수 있습니다.

    umake go

  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.

예를 들어 두 개의 라이너가 있습니다 (으로 실행 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/
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.