有没有适用于Google的Go语言的PPA?

你知道Google的Go语言的PPA的URL吗?

有人知道在Ubuntu Lucid上的gccgo 4.7或更高版本的二进制包(.deb)吗? - pts
8个回答

2023年的答案:如果你在amd64、arm64、armhf或i386上使用的是Ubuntu 16.04至22.04之间的版本,你可以使用推荐的ppa:longsleep/golang-backports
它提供了从1.8到1.20版本的Golang。
你可以在https://launchpad.net/~longsleep/+archive/ubuntu/golang-backports上阅读更多信息。
总结一下:
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt update
sudo apt install golang-go

请注意,golang-go会将最新版本的Go作为默认安装。如果您不希望如此,请安装golang-1.19并使用/usr/lib/go-1.19/bin中的二进制文件。

这是一个适用于Go的PPA。它对我来说刚刚好用,并且与10.04-12.04版本的golang保持更新。 如需获取更时新的快照,请使用或进行替代。
参考资料: 编辑:遗憾的是,Gophers存档现已停用(请查看PPA描述和此博客文章),现在改为使用自定义二进制文件来生成Go deb软件包。
然而,在Trusty版本中,当前的golang软件包相对较新(写作时为1.2.1)。如果您仍在使用12.04版本,可能希望使用此后备PPA。 我一直努力跟上官方Ubuntu软件源的稳定更新。

我已经安装了这个PPA,并且似乎已经安装了所有相关的软件包(稳定版本)。但是可执行文件在哪里呢?我尝试了通常的命令 - 6g和6l不在路径中。 - egarcia
4不支持14.04... :-( - Ionică Bizău
2……又一个没有适用于当前Ubuntu版本的空无一物的PPA。 - Aaron C. de Bruyn
1请取消标记此答案为正确答案,它已不再相关。 - Jason R. Coombs

目前,最新的Go上游版本没有PPA可用。要安装当前的Go版本,您可以使用godeb,它会自动将最新的上游版本安装为.deb软件包。
  1. 创建目录并设置GOPATH和PATH变量来准备环境:

    mkdir -p ~/.go/bin
    echo "GOPATH DEFAULT=\${HOME}/.go" >> ~/.pam_environment
    echo "PATH DEFAULT=\${PATH}:\$GOPATH/bin" >> ~/.pam_environment
    # 重新登录用户以应用变量
    
  2. 使用godeb下载、解压和安装最新的Go版本:

    wget -O /tmp/godeb-amd64.tar.gz https://godeb.s3.amazonaws.com/godeb-amd64.tar.gz
    tar xfz /tmp/godeb-amd64.tar.gz -C ~/.go/bin
    godeb install
    

    现在可以使用Go了。有关更多信息,请参见godeb --help


22016年到了。这是正确的答案。 - mniess
是的,我自己也刚刚发现这个正确答案。你可以在这里阅读一篇关于它的博客文章。http://blog.labix.org/2013/06/15/in-flight-deb-packages-of-go - RayfenWindspear
在Ubuntu Xenial上,"准备环境"的指令对我来说不起作用。.pam_environment被执行了,但${HOME}显然是空的,所以GOPATH最终变成了/.go,这是不可行的。 - Jason R. Coombs
有关如何从gophers存档PPA安装go v1.11的信息,请参阅下面的我的答案 - Jonathan Cross

我找不到PPA,但是gccgo的开发者在他的sourceforge网站上发布了.deb包。

个人一直在努力将上游的Go打包到Debian中,请查看WNPP bug获取更多信息。您可以按照以下步骤从hg存储库构建一个deb包:

hg clone http://hg.debian.org/hg/collab-maint/golang/
cd golang
debuild -us -uc

我对使用hg构建Debian软件包并不是非常熟悉,而且请记住你正在处理的是开发包装。

1abort: HTTP Error 404: Not Found - Ionică Bizău

我使用了一个名为 ppa:ubuntu-lxc/lxd-stable 的源,它含有接近最新版本的内容。

为什么这个被投票踩了?他们其实提供了一个带有1.6 beta版本的golang软件包。对我来说,它运行得很好! - Atmocreations
对应的 Launchpad 页面:https://launchpad.net/~ubuntu-lxc/+archive/ubuntu/lxd-stable - Veger
这是我一直在使用的,但它们目前滞后。现在他们的版本是1.6.2,但已经发布了1.6.3和1.7。 - RayfenWindspear

gccgo现在在Debian experimental中有官方的.deb软件包。
这应该是编译Go代码为可执行文件所需的全部内容。
更多信息和链接请参见以下内容: 由于最新的Ubuntu通常从experimental中获取,所以它肯定会出现在11.04 Natty Narwhal中。
如果您想为以前的Ubuntu版本自己制作.deb软件包,那么@lfaraone的评论将使您可以访问Google自己源代码的Debian化选择。
如果您想直接从Google获取源代码,@mirwing最近撰写了一篇文章告诉您如何做到这一点。

Go版本1.4至1.11适用于Ubuntu Trusty、Xenial、Bionic、Cosmic和Disco,可以从此处安装: https://launchpad.net/~gophers/+archive/ubuntu/archive
sudo add-apt-repository ppa:gophers/go
sudo apt-get update
sudo apt-get install golang-1.11-go

 

注意:安装完成后,您需要将/usr/lib/go-1.X/bin(或者可能是/usr/lib/go-tip/bin)添加到您的$PATH中,或者您可以直接调用/usr/lib/go-1.X/bin/go

我遇到了gpg失败的问题,gpg: keyserver receive failed: No name。
有趣的是这个问题出现在snap上,所以snap用户可以轻松地输入以下命令进行安装: sudo snap install go --classic 但请记住,如果你已经安装了go-lang,你应该先使用apt remove go-lang再安装go。

如果有人遇到404错误,请参考以下解决方法。