อัปเดต golang บน Ubuntu


30

ฉันมี Ubuntu 14.4.03 golangรุ่นเริ่มต้นที่มาพร้อมกับมันคือ 1.2.1 ฉันต้องการอัปเดตgolangเป็น 1.4 หรือสูงกว่า

หลังจากค้นหาฉันพบวิธีการทำเช่นนี้คือการลบการติดตั้งโกโกปัจจุบันก่อนจากนั้นติดตั้งเวอร์ชันใหม่อีกครั้ง

ฉันพบไฟล์ติดตั้ง 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 เวอร์ชั่นใหม่เป็นอย่างไร

ขอบคุณ


คำตอบ:


8

ครั้งแรกเอาปัจจุบันของคุณ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 ถูกลบ คำตอบถัดไปใช้งานได้
Himanshu sharma

45

ppa:evarlast/golang1.4ไม่ทำงานสำหรับฉัน วิธีการติดตั้ง Go แบบแมนนวลจะแสดงไว้ด้านล่าง

ขั้นตอนที่ 1 : ลบ golang ที่มีอยู่

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

ฉันชอบคำตอบนี้มากเพราะมันอธิบายได้ดีว่าระบบ Debian Alternativesทำงานอย่างไร! +1
fgbreel

สิ่งนี้ไม่ได้ผลสำหรับฉันในการอัพเกรดจาก 1.8 เป็น 1.9 คู่มืออย่างเป็นทางการไม่ได้ทำที่นี่github.com/golang/go/wiki/Ubuntu
Karlom

นี่เป็นวิธีการแก้ปัญหาที่ถูกต้องยกเว้นว่าคำสั่ง tar ไม่ถูกต้องซึ่งใช้ได้เพียงระบุชื่อเต็มของไฟล์ tar ของคุณ ขอบคุณ!
Montaro

ตำนาน. ขอบคุณมาก! เปลี่ยนชื่อไฟล์ของบรรทัดคำสั่ง tar
Mihailo

ทำงานเหมือนมีเสน่ห์ทำเสียงเชียร์!
PKumar

10

ฉันได้พบrepoทางเลือก (/ ส่วนตัว) กับเวอร์ชั่นล่าสุดซึ่งยังมีชีวิตอยู่จากนั้นได้รับ 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และไปกับล่าสุดและยิ่งใหญ่ที่สุด

repo มีรุ่นอื่น ๆ มากมายดังนั้นคุณเพียงแค่เปลี่ยนหมายเลขเวอร์ชันเป็น ex 1.4ในสคริปต์ / คำสั่งด้านบน


8

สำหรับ Golang 1.8 บน Ubuntu 17.04 Zesty ถึง 17.10 Artful:

# 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

สำหรับ Golang 1.9 บน Ubuntu 17.10 Artful ถึง 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

สำหรับ Golang 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

3

ติดตั้งและอัพเดทได้ง่าย

ใช้ตัวจัดการเวอร์ชัน

# 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

3

คุณยังสามารถใช้สคริปต์ update-golang:

update-golangเป็นสคริปต์ที่จะดึงข้อมูลและติดตั้ง Golang ใหม่อย่างง่ายดายด้วยการบุกรุกระบบขั้นต่ำ

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

3

IMG:  หากต้องการติดตั้งภาษาการเขียนโปรแกรม Go รุ่นล่าสุดใน Ubuntu ทุกรุ่นที่รองรับในปัจจุบันให้เปิดเทอร์มินัลแล้วพิมพ์:

sudo snap install go --classic --channel stable 

snap นี้จัดเตรียมแอสเซมเบลอร์คอมไพเลอร์ตัวเชื่อมโยงและไลบรารีที่คอมไพล์สำหรับภาษาโปรแกรม Go มีช่องอื่น ๆ นอกเหนือจากเสถียร แต่ช่องเสถียรเป็นภาษาโปรแกรม Go เวอร์ชันล่าสุด แพ็คเกจ go snap จะได้รับการอัพเดตโดยอัตโนมัติเมื่อมีการอัพเดท


0

ฉันใช้คำแนะนำนี้เพื่อติดตั้งเวอร์ชันล่าสุดของ 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- การติดตั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.