[英]“sudo apt-get install rJava” on Ubuntu 12.04 (precise pangolin) does not install the current version
[英]How to install the current version of Go in Ubuntu Precise
运行sudo apt-get install golang-stable
,我得到 Go version go1.0.3
。 有没有办法安装go1.1.1
?
[更新(以前的答案不再适用)]
获取最新版本:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go
另见维基
我喜欢在我的 Ubuntu 机器中使用GVM来管理我的 Go 版本。 使用起来非常简单,如果您熟悉 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 版本。
我使用了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 将来会一直更新。
[2015 年 10 月]回答是因为当前接受的答案sudo apt-get install golang
不是最新的,如果您不想安装GVM
按照以下步骤操作。
sudo tar -C /usr/local -xzf go$VERSION.$OS-$ARCH.tar.gz
go
您的路径export PATH=$PATH:/usr/local/go/bin
go version
检查当前安装的版本 如果你得到一个go version xgcc (Ubuntu 4.9.1-0ubuntu1) 4.9.1 linux/amd64
那么你做错了什么,所以看看这篇文章: Go is Printing xgcc version but not go installed version
我从源代码安装。 这里有一个分步教程: http : //golang.org/doc/install/source
这是我发现在 Ubuntu 14.04 上安装 go 的最直接和最简单的方法,无需任何 ppa 或任何其他工具。
截至目前,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
添加一行,所以,
sudo nano ~/.bashrc
并将以下行添加到文件末尾。
export PATH="/usr/local/go/bin:$PATH"
现在, go/bin
所有命令go/bin
将起作用。
通过执行检查安装是否成功
go version
对于离线文档,您可以执行
godoc -http=:6060
离线文档将在http://localhost:6060
笔记:
这里有些人建议更改 PATH 变量。
这不是一个好的选择。
将其更改为/usr/local/go/bin
是暂时的,一旦您关闭终端,它就会重置。
go
命令只能在您更改 PATH 值的终端中工作。
您将无法使用任何其他命令,如ls, nano
或几乎所有内容,因为其他所有内容都在/usr/bin
或其他位置。 所有这些都将停止工作,它会开始给你错误。
但是,这是永久性的,不会干扰其他任何事情。
删除现有的 Go 版本:
sudo apt-get purge golang*
安装最新版本的 Go:
sudo add-apt-repository ppa:longsleep/golang-backports sudo apt-get update sudo apt-get install golang-go
使用以下内容在主路径中创建.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"
将 Go 工作区设置为环境变量:
GOPATH=~/.go
应用.profile
配置:
source ~/.profile
测试:
$ go version
go version go1.11.1 linux/amd64
参考: Go-GitHub-安装
如果有人正在寻找安装 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
- 从https://golang.org/dl/下载
go1.6beta1.linux-amd64.tar.gz
到/tmp
wget https://storage.googleapis.com/golang/go1.6beta1.linux-amd64.tar.gz -o /tmp/go1.6beta1.linux-amd64.tar.gz
- 解压到
/usr/local/bin
sudo tar -zxvf go1.6beta1.linux-amd64.tar.gz -C /usr/local/bin/
- 设置 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
- 核实
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"
这些天根据golang github with for Ubuntu ,可以通过 snap 轻松安装最新版本的 Go:
使用 snap 也很有效:
# This will give you the latest version of go
$ sudo snap install --classic go
可能比对过时的和/或第 3 方 PPA 大惊小怪更可取
在最近的 Ubuntu (20.10) 上sudo apt-get install golang
工作正常; 它将安装 1.14 版。
或者你可以使用这个脚本来安装 Go 和 LiteIDE?
如果您对所提供的答案不满意,请发表评论而不是盲目投票。 我在过去的 4 年里一直使用这个设置,没有任何问题。
您还可以使用 update-golang 脚本:
update-golang是一个脚本,可以以最小的系统入侵轻松获取和安装新的 Golang 版本
git clone https://github.com/udhos/update-golang
cd update-golang
sudo ./update-golang.sh
在 Ubuntu 上安装 Go 的最佳方法是从这里下载所需的版本。 在这里,您可以拥有所有稳定版和发行版,以及存档版本。
下载您选择的版本后,您可以按照进一步的步骤进行操作,我建议您为 ubuntu 机器下载 tar.gz 格式:
sudo rm -rf /usr/local/go /usr/local/gocache
这将删除所有本地 go 代码库,但等待更多我们必须做的事情才能从本地完全删除,我错过了这一步,花了很长时间才明白我错过了什么,所以这里是要从中删除的清除内容清单
sudo apt-get purge golang
要么
sudo apt remove golang-go
tar -C /usr/local -xzf go1.10.8.linux-amd64.tar.gz
GOROOT
变量值,如果未设置,则可以通过go env
检查该值,然后export PATH=$PATH:/usr/local/go
GOPATH
值,请在/home/yourusername/go/test.php
写入:package main import "fmt" func main() { fmt.Println("hello world") }
go run test.go
我希望它对你有用!!
这是一个老问题,2022 年已经快 9 年了。 但我认为自动化此安装很重要。
sudo
。touch ~/go-installer.sh
nano ~/go-installer.sh
#!/bin/bash
## Define version and build
VERSION=1.19
BUILD=4
## Define package name
PKG_NAME='go'
## Define go official url
GO_URL='https://golang.org/dl/'
## Define local path
LOCAL_PATH='/usr/local'
## Define system library path
LIB_PATH='/usr/lib'
## Define system binary path
BIN_PATH='/usr/bin'
## Define EV script filename
EV_FILE='/etc/profile.d/go-bin-path.sh'
## Defile export path command
EXPORT_CMD='export PATH=$PATH:/usr/local/go/bin'
## Define script content
SCRIPT='#!/bin/sh\n'${EXPORT_CMD}
## Define user home dir
USER_HOME_DIR=$(getent passwd ${SUDO_USER:-$USER} | cut -d: -f6)
check_command() {
[ -x "$(command -v $PKG_NAME)" ] && echo 0 || echo 1
}
test_package() {
echo
code=$(check_command)
[ $code -eq 0 ] && go version || echo "Error: $PKG_NAME is not installed." >&2
exit $code
}
is_sudoer() {
## Define error code
E_NOTROOT=87 # Non-root exit error.
## check if is sudoer
if ! $(sudo -l &>/dev/null); then
echo 'Error: root privileges are needed to run this script'
return $E_NOTROOT
fi
return 0
}
if is_sudoer; then
## Remove previous package versions
status="$(dpkg-query -W --showformat='${db:Status-Status}' ${PKG_NAME} 2>&1)"
if [ $? = 0 ] || [ "${status}" = installed ]; then
sudo apt remove --purge --auto-remove -y "${PKG_NAME}"
fi
pkg_path="${LOCAL_PATH}/go"
pkg_lib_path="${LIB_PATH}/go"
## Download the latest version available.
[ "$BUILD" -eq "0" ] && version_build="${VERSION}" || version_build="${VERSION}.${BUILD}"
mkdir "${USER_HOME_DIR}/tmp"
cd "${USER_HOME_DIR}/tmp"
wget "${GO_URL}go${version_build}.linux-amd64.tar.gz"
## Extract and install the downloaded version
if [ -f "go${version_build}.linux-amd64.tar.gz" ]; then
sudo rm -rf "${pkg_path}" && sudo tar -xzvf "go${version_build}.linux-amd64.tar.gz" -C "${LOCAL_PATH}"
## Add symbolic link binary files to system binary and library directories
if [ ! -h "${pkg_lib_path}" ]; then
sudo ln -sv "${pkg_path}" "${pkg_lib_path}"
fi
binaries='go gofmt'
for i in $binaries; do
if [ ! -h "${BIN_PATH}/${i}" ]; then
sudo ln -sv "${pkg_lib_path}/bin/${i}" "${BIN_PATH}/${i}"
fi
done
## Test your new version.
test_package
else
echo "Error: tar file does not exits." >&2
exit 1
fi
else
exit $?
fi
sudo chmod -v u+x ~/go-installer.sh
./go-installer.sh
它会返回这样的东西:
...
go/test/used.go
go/test/utf.go
go/test/varerr.go
go/test/varinit.go
go/test/winbatch.go
go/test/writebarrier.go
go/test/zerodivide.go
'/usr/lib/go' -> '/usr/local/go'
'/usr/bin/go' -> '/usr/lib/go/bin/go'
'/usr/bin/gofmt' -> '/usr/lib/go/bin/gofmt'
go version go1.19.4 linux/amd64
teocci@ubuntu:~$
go version
现在 Go 将是全球性的,可以在任何地方运行。
如果您有 ubuntu-mate,则可以通过以下方式安装最新版本:
乌马克去
我有一个脚本可以从官方网站下载并安装最后一个
# 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
您可以使用来自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/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.