วิธีการติดตั้ง Go รุ่นปัจจุบันใน Ubuntu Precise


141

เล่นฉันได้รับรุ่นไปsudo apt-get install golang-stable go1.0.3มีวิธีการติดตั้งgo1.1.1ไหม?


1
ในที่สุดฉันก็ต้องติดตั้งจากแหล่งที่มา ไม่ผ่านการทดสอบทั้งหมด แต่ดูเหมือนว่าจะใช้ได้
โซเฟีย

1
"ไม่ผ่านการทดสอบทั้งหมด แต่ดูเหมือนว่าจะใช้ได้" @sofia คุณใช้ Ubuntu รุ่นใดอยู่ ฉันจะไม่คาดหวังความล้มเหลวในการทดสอบจนกว่าคุณจะใช้งาน Ubuntu รุ่นเก่ามากหรือติดตั้ง "คำแนะนำ" กับ "เสถียร" โดยไม่ตั้งใจ
voidlogic

ฉันใช้อูบุนตูอย่างแม่นยำ แต่การติดตั้งเวอร์ชันล่าสุดจาก repo duh / golang ไม่ได้รายงานปัญหาใด ๆ ดังนั้นจึงไม่แน่ใจว่าปัญหานั้นเกิดขึ้นที่ใด
โซเฟีย

ฉันยังใช้อย่างแม่นยำ คุณเรียกใช้ "hg update tip" หรือ "hg update release" หากคุณจำไม่ได้ว่ามองย้อนกลับไปในไฟล์ประวัติทุบตี การใช้ทิปอาจอธิบายความล้มเหลวในการทดสอบ
voidlogic

1
คุณสามารถลองบล็อกนี้railskey.wordpress.com/2014/05/31/install-gogolang-on-ubuntu
Pravin Mishra

คำตอบ:


110

ผมพบว่า repo ที่มีรุ่นล่าสุด: 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"
Riccardo

2
ตั้งแต่ 2014-10-24 ฉันได้ 1.2.1 linux / amd64
nairware

5
การเช็คอินในวันที่ 29 มีนาคม 2015 ppa นั้นตอบกลับด้วย 404
btleffler

7
ฉันใช้ppa:evarlast/golang1.4
Natim

98

ฉันชอบใช้GVMสำหรับจัดการรุ่น Go ของฉันในกล่อง Ubuntu ของฉัน ใช้งานง่ายและถ้าคุณคุ้นเคยกับ 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 เป็นรุ่นเริ่มต้นของคุณเมื่อใดก็ตามที่คุณเริ่มเซสชันเทอร์มินัลใหม่


1
ฉันชอบ RVM และเพลิดเพลินกับเครื่องมือที่ดีในชุดของฉัน ดีใจที่ได้เห็นว่าผมได้รับเป็นไปได้ว่ามีเครื่องมือเช่น GVM A :)
Brenden

2
gvm เป็นชื่อเดียวกับ grails gvm
jcalloway

2
ฉันแค่ลองใช้ GVM ใต้เปลือกปลาและเตือนผู้ที่ไม่ใช้ทุบตี: GVM จะเป็นความเจ็บปวดที่จะลุกขึ้นและวิ่งได้อย่างถูกต้อง สคริปต์จำนวนมากไม่มีแนว Shebang
เดนนิส

https://github.com/moovweb/gvmtไม่พบหน้าเว็บ "GVM" ที่อ้างอิงถึง404 และฉันลังเลที่จะติดตั้งสิ่งใดก็ตามที่ดูเหมือนจะไม่มีขั้นตอนการอัปเดตความปลอดภัยของตัวเอง
nealmcb

ฉันไม่ยอมรับว่ามันง่ายเหมือน "ติดตั้ง gvm" และ "ใช้ gvm"
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
Lee Richardson

23

[ตุลาคม 2558] คำตอบเพราะคำตอบที่ยอมรับในปัจจุบัน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. เริ่มการเขียนโปรแกรม

ข้อผิดพลาดที่เป็นไปได้ + การแก้ไข: (เพื่อรับการปรับปรุง)

หากคุณได้รับgo version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64แล้วคุณทำสิ่งผิดปกติดังนั้นตรวจสอบโพสต์นี้: ไปคือการพิมพ์รุ่น xgcc แต่ไม่ได้ไปติดตั้งรุ่น


นี้ไม่มี armv7
Varun

17

ฉันติดตั้งจากแหล่งที่มา มีการสอนทีละขั้นตอนที่นี่: http://golang.org/doc/install/source


2
ใช่. การติดตั้ง Go from source เป็นวิธีที่ดีที่สุดในการ "Go" มันง่ายมากที่จะอัพเดทด้วยวิธีนี้เช่นกัน
voidlogic

1
ผมทำตามคำแนะนำจากที่นี่และมันทำงานให้ฉันดีจริงๆ golang.org/doc/install#tarball
Bogdan

1
ขอบคุณมาก. ยังทำงานกับ Ubuntu 14.04 ของฉันในขณะที่ PPA ทำไม่ได้ :-)
IonicăBizău

1
ตอนนี้มันน่ารำคาญแล้วที่คุณต้อง bootstrap 1.5+ ด้วย 1.4+ build
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 คำสั่งจะทำงานใน terminal ที่คุณเปลี่ยนค่าของ PATH

  3. คุณจะไม่สามารถใช้คำสั่งอื่น ๆ เช่นls, nanoหรือทุกอย่างเกี่ยวกับเพราะทุกอย่างอยู่ใน/usr/binหรือในสถานที่อื่น ๆ ทุกสิ่งเหล่านั้นจะหยุดทำงานและมันจะเริ่มให้คุณผิดพลาด

อย่างไรก็ตามนี่เป็นสิ่งที่ถาวรและไม่รบกวนสิ่งอื่นใด


คุณต้องกำหนด env var GOPATH = / บางคน / dir แล้วกำหนด PATH = $ {GOPATH} / bin: $ {PATH} สำหรับรหัสโครงการของคุณเอง
Scott Stensland

ใช่ฉันใช้ VSCode เพื่อเพิ่ม GOPATH ฉันแค่ต้องแก้ไข gopath ในการตั้งค่าผู้ใช้ json ขอบคุณสำหรับการป้อนข้อมูล
Ishan Jain

มีคำผิดเล็ก ๆ ในคำสั่ง tar: am64 แทนที่จะเป็น amd64
Adrian Lungu

1
@AdrianLungu แก้ไข
Ishan Jain

1
sudo nano ~. / bashrc -> sudo nano ~ / .bashrc .. ยังควรเป็นกลุ่ม: 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. ยกเลิกการ tar เข้า /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"


สวัสดีขอบคุณสำหรับคำตอบฉันทำตามทุกขั้นตอน แต่เมื่อใดก็ตามที่ฉันเรียกว่า "go version" แทนที่จะเป็น 1.7 จะมี 1.4.2 มีการกระทำอื่น ๆ ที่ควรทำหรือไม่?
Anahit Serobyan

4

หากมีคนกำลังมองหาการติดตั้ง 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

ทำงานไร้ที่ติสำหรับฉัน ขอบคุณ!
Gwyneth Llewelyn

1
ไม่จำเป็นต้องติดตั้งก็ติดตั้งแล้วเมื่อติดตั้งgolang-1.8-go golang-goจริงแล้ว ณ สิ้นเดือนเมษายน 2017 ติดตั้งgo 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 และเลือกการกระจายแบบไบนารีที่ตรงกับระบบปฏิบัติการและสถาปัตยกรรมตัวประมวลผลของคุณ

การแจกแจงแบบไบนารีอย่างเป็นทางการนั้นพร้อมใช้งานสำหรับระบบปฏิบัติการ FreeBSD, Linux, macOS และ Windows และสถาปัตยกรรมตัวประมวลผล x86 แบบ 32 บิต (386) และ 64 บิต (amd64) x86

หากการกระจายแบบไบนารีไม่พร้อมใช้งานสำหรับการรวมกันของระบบปฏิบัติการและสถาปัตยกรรมของคุณคุณอาจต้องการลองติดตั้งจากแหล่งที่มาหรือติดตั้ง gccgo แทน gc

การติดตั้งเริ่มต้นจากแหล่งที่มา


การติดตั้งจากแหล่งที่มานั้นรวดเร็วจริง ๆ มันรวบรวมอย่างรวดเร็วและการทดสอบเป็นตัวเลือกถ้าคุณเลือกที่จะข้าม
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- การติดตั้ง


1

วันนี้ตามgolang github กับสำหรับ Ubuntuเป็นไปได้ที่จะติดตั้ง Go รุ่นล่าสุดได้อย่างง่ายดายผ่านการ snap:

การใช้ snaps ยังทำงานได้ค่อนข้างดี:

# 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 บน Ubuntu คือการดาวน์โหลดเวอร์ชั่นที่ต้องการจากที่นี่ที่นี่ที่นี่คุณสามารถมีเสถียรภาพและรีลีสทั้งหมดพร้อมกับเวอร์ชันที่เก็บถาวร

หลังจากดาวน์โหลดเวอร์ชั่นที่คุณเลือกคุณสามารถทำตามขั้นตอนต่อไปได้ฉันจะแนะนำให้คุณดาวน์โหลดรูปแบบ tar.gz สำหรับเครื่องอูบุนตู:

  1. ก่อนอื่นให้ลบรุ่นเก่าออกจากเครื่องของคุณโดยทำสิ่งนี้

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

สิ่งนี้จะลบรหัสฐาน go ท้องถิ่นทั้งหมด แต่รอสิ่งเพิ่มเติมที่เราต้องทำเพื่อลบออกจาก local ฉันหายไปขั้นตอนนี้และใช้เวลามากจนกระทั่งฉันเข้าใจสิ่งที่ฉันหายไปดังนั้นนี่คือสิ่งที่ล้างเพื่อลบออกจาก รายการ

sudo apt-get purge golang

หรือ

sudo apt remove golang-go
  1. ตอนนี้ติดตั้ง / แยกรุ่นที่ดาวน์โหลดของคุณไปภายใน / 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. ดีกว่าที่จะทดสอบโปรแกรมเล็ก ๆ เพื่อให้แน่ใจ เขียนข้างในนี้/home/yourusername/go/test.phpถ้าคุณยังไม่ได้เปลี่ยนค่าที่ตั้งไว้GOPATH:
package main

import "fmt"

func main() {
    fmt.Println("hello world")
}
  1. เรียกใช้โดย go run test.go

ฉันหวังว่ามันจะทำงานให้คุณ !!


0

หรือบางทีคุณอาจใช้สคริปต์นี้เพื่อติดตั้ง Go and LiteIDE

หากคุณไม่พึงพอใจกับคำตอบที่ได้รับโปรดแสดงความคิดเห็นแทนการลงคะแนนแบบสุ่มสี่สุ่มห้า ฉันใช้การตั้งค่านี้ในช่วง 4 ปีที่ผ่านมาโดยไม่มีปัญหาใด ๆ


-1
  1. หากคุณมี ubuntu-mate คุณสามารถติดตั้ง 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.