Cập nhật golang trên Ubuntu


30

Tôi có Ubuntu 14.4.03. golangPhiên bản mặc định đi kèm với nó là 1.2.1. Tôi muốn cập nhật golanglên 1.4 hoặc cao hơn.

Sau khi tìm kiếm, tôi thấy cách để làm điều này là trước tiên hãy xóa cài đặt hiện tại và sau đó cài đặt lại phiên bản mới.

Tôi tìm thấy các tập tin cài đặt đi sau trong thư mục sau:

/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

Thư mục nào chứa những gì? Những cái nào tôi nên xóa? Điều gì nên là vị trí cài đặt mới? Có vẻ như / usr / local là bình thường hơn. Vậy thì làm thế nào mà Ubuntu mặc định là như trên?

Quy trình cài đặt phiên bản mới og golang là gì?

Cảm ơn.


Câu trả lời:


8

Trước tiên, xóa golangcài đặt hiện tại của bạn bằng lệnh này, bạn không cần xóa thủ công các tệp được cài đặt bởi apt-get,

sudo apt-get purge golang

Để cài đặt dễ dàng, golang 1.4bạn có thể sử dụng PPA này

sudo add-apt-repository ppa:evarlast/golang1.4
sudo apt-get update

Bây giờ bạn có thể sử dụng

sudo apt-get install golang

Điều này sẽ cài đặt phiên bản 1.4, đây là một liên kết đến PPA.


Điều này hiện không hoạt động vì ppa được gỡ bỏ. Câu trả lời tiếp theo đang hoạt động
Himanshu sharma

45

ppa:evarlast/golang1.4không làm việc cho tôi. Cách cài đặt thủ công Go được đưa ra dưới đây.

Bước 1 : Loại bỏ golang hiện có

sudo apt-get purge golang*

Bước 2 : Tải xuống phiên bản mới nhất từ ​​trang web chính thức. Bấm vào đây

Bước 3 : Giải nén nó trong / usr / local bằng lệnh sau. Tôi đang sử dụng Go 1.11.4 tại đây. Bạn có thể cần phải thay thế tên tệp bằng tên tệp thực tế dựa trên phiên bản bạn đã tải xuống.

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

Bước 4 : Tạo thư mục .go tại nhà. (Thật dễ dàng để cài đặt các gói cần thiết mà không cần đặc quyền của quản trị viên)

mkdir ~/.go

Bước 5 : Thiết lập các biến môi trường sau

GOROOT=/usr/local/go
GOPATH=~/.go
PATH=$PATH:$GOROOT/bin:$GOPATH/bin

Kiểm tra câu trả lời AskUbfox này để biết cách đặt biến môi trường vĩnh viễn.

Bước 6 : Cập nhật lệnh 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

Bước 7 : Kiểm tra golangphiên bản

go version

Tôi thực sự thích câu trả lời này vì nó mô tả độc đáo cách hệ thống thay thế Debian hoạt động! +1
fgenameel

Điều này không làm việc cho tôi để nâng cấp từ 1.8 lên 1.9. Không có hướng dẫn chính thức nào ở đây github.com/golang/go/wiki/Ub
Ubuntu

Đây là giải pháp phù hợp ngoại trừ lệnh tar không hợp lệ, chỉ cần cung cấp tên đầy đủ cho tệp tar của bạn. Cảm ơn!
Montaro

Huyền thoại. Cảm ơn nhiều! Thay đổi tên tệp của dòng lệnh tar mặc dù.
Mihailo

Làm việc như một cơ duyên, chúc mừng!
PKumar

10

Tôi đã tìm thấy một repo (/ cá nhân) thay thế với các phiên bản mới nhất vẫn còn tồn tại, sau đó có phiên bản 1.8 và liên kết nó từ đường dẫn trong câu hỏi của OP. Đây là bash nó trong:

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

Bây giờ tôi chỉ có thể nói go1.8thay vì govà do đó đi với mới nhất và lớn nhất.

Repo cung cấp nhiều phiên bản khác để bạn chỉ cần thay đổi số phiên bản thành ex. 1.4trong đoạn script / lệnh trên.


8

Đối với Golang 1.8 trên Ubuntu 17.04 Zesty đến 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

Đối với Golang 1.9 trên Ubuntu 17.10 Artful đến 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

Đối với Golang 1.10 trên Ubuntu 18.04 Bionic và 18.10 Vũ trụ:

# 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

Dễ dàng cài đặt và cập nhật

Sử dụng Trình quản lý phiên bản Go

# 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

Bạn cũng có thể sử dụng tập lệnh update-golang:

update-golang là một tập lệnh để dễ dàng tìm nạp và cài đặt các bản phát hành Golang mới với sự xâm nhập hệ thống tối thiểu

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

3

IMG:  Để cài đặt phiên bản ngôn ngữ lập trình Go mới nhất trong tất cả các phiên bản Ubuntu được hỗ trợ hiện tại, hãy mở thiết bị đầu cuối và gõ:

sudo snap install go --classic --channel stable 

Snap này cung cấp một trình biên dịch, trình biên dịch, trình liên kết và các thư viện được biên dịch cho ngôn ngữ lập trình Go. Có những kênh khác ngoài ổn định, nhưng kênh ổn định là phiên bản mới nhất của ngôn ngữ lập trình Go. Gói go snap sẽ được cập nhật tự động khi có bản cập nhật.


0

Tôi sử dụng hướng dẫn này để cài đặt phiên bản mới nhất của IMG:

  1. Xóa phiên bản Go hiện có:

    sudo apt-get purge golang*
    
  2. Cài đặt phiên bản mới nhất của Go:

    sudo add-apt-repository ppa:longsleep/golang-backports
    sudo apt-get update
    sudo apt-get install golang-go
    
  3. Tạo .profiletệp trong đường dẫn nhà với nội dung này:

    # ~/.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. Đặt không gian làm việc Go cho biến môi trường:

    GOPATH=~/.go
    
  5. Áp dụng .profilecấu hình:

    source ~/.profile
    

Kiểm tra:

$ go version
go version go1.11.1 linux/amd64

Tham chiếu: Go-GitHub-Cài đặt

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.