ubuntu 装 go 真是噩梦啊

2020-11-28 18:50:07 +08:00
 xxbutoo

各种 仓库 “http://ppa.launchpad.net/gophers/go/ubuntu focal Release” 没有 Release 文件。

使用 sudo apt install golang-go 安装: 各种 E: 无法下载 http://ae.archive.ubuntu.com/ubuntu/pool/main/b/binutils/binutils-common_2.34-6ubuntu1_amd64.deb 暂时不能解析域名“ae.archive.ubuntu.com” E: 无法下载 http://ae.archive.ubuntu.com/ubuntu/pool/main/b/binutils/libbinutils_2.34-6ubuntu1_amd64.deb 暂时不能解析域名“ae.archive.ubuntu.com” E: 无法下载 http://ae.archive.ubuntu.com/ubuntu/pool/main/b/binutils/libctf-nobfd0_2.34-6ubuntu1_amd64.deb 暂时不能解析域名“ae.archive.ubuntu.com” E: 有几个软件包无法下载,要不运行 apt-get update 或者加上 --fix-missing 的选项再试试?

崩溃了

13205 次点击
所在节点    Ubuntu
96 条回复
buffzty
2020-11-29 20:19:39 +08:00
@nguoidiqua 不把源改好,手动装个 golang 也是没法用? 那我这几年是怎么用的? ubuntu 官方的 go 版本多低 心里没数吗
MAKF
2020-11-29 20:51:27 +08:00
给中国人点赞
guochao
2020-11-29 20:55:00 +08:00
@buffzty

直接下载是一个办法,只是手动管理很麻烦。尤其是我们这种工作就是解决问题的,什么语言都会接触,一个个自己下载太灾难了。所以会尽可能多的利用包管理工具。而且 Golang 官网应该是有被墙到的,包管理不在意墙的问题,Ubuntu 略微新一点点软件包也不会太老。

@xxbutoo
把问题分解开:
1 、对 Linux 发行版不了解,不知道包管理工具( Debian 系的 dpkg/apt,RH 系的 rpm/yum/dnf,Arch 系的 pacman……)是怎么回事、解决了什么问题,不清楚我们在用各种问题的时候要遵循什么规则、第三方软件源怎么选择怎么配置。这个需要时间逐渐熟悉生态,多用就好了,你用 Windows 其实也是有学习过程的,但是白纸没有这么痛苦而已,回归白纸吧。而且 Windows 隐藏了很多细节,而 Linux 选择把所有东西暴露给用户让用户负责和选择。
在这一方面,对于你现在的问题而言,是包管理无法连接服务器,因为选择到了国外的服务器( ae 我也不知道是啥国家),可以参考清华咸鱼站或者 ustc 配置你的软件源,这两个软件源站本身也可以逛逛。
USTC: http://mirrors.ustc.edu.cn/help/ubuntu.html
清华咸鱼: https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/
2 、Golang 本身这个,有很多办法解决,比如说直接用官方源,还有 @buffzty 说的直接下载新版二进制也是很好的办法。初次之外补充一下,在境内使用 Golang,有两个问题解决了会比较舒服:
一个是软件本身下载安装,刚才提到的 USTC 提供 https://golang.org/dl/的镜像,也有别的,但是我比较懒,已经有一个我就用着了: http://mirrors.ustc.edu.cn/golang/
一个是使用 Go 时,下载软件包可能会被墙,有现成的针对 go 的代理。可以使用高版本 google 版本的 golang+环境变量 goproxy,目前我用的比较舒服的有 goproxy.cngoproxy.io ,跟着网站配置就好: https://goproxy.io/zh/ https://goproxy.cn/
guochao
2020-11-29 20:56:47 +08:00
另外如果只是学 Go,建议先从 Go 本身下手,一次解决一个问题,不要一次性引入两个问题尝试同时解决
ww2000e
2020-11-29 20:58:18 +08:00
直接下国内的二进制
buffzty
2020-11-29 21:18:34 +08:00
@guochao
1. 手动管理很简单啊. 每次运行一下 bash 就行啊,你看我 bash 脚本里 版本都是用变量写的,像 go nodejs cmake 这种 apt 源不是最新的并且官网安装很简单的 肯定自己下载安装啊
我工作中要用到 c/c++ java php go nodejs typescript py android ios react-native,我觉得接触的也不少, 只有很少东西需要自己安装.比如 php 我就添加第三方源安装, 因为自己编译安装很慢 耗时间,而且 php 的源很好. 并不是所有都自己编译安装. 对于 go 和 nodejs 来说 官网下载->换个目录-> path 加一下 这种这么简单方便的我肯定选择自己下载.
这个楼主明显是什么都不懂来黑 ubuntu 和 go 的.拉不出 shi 怪地球没有吸引力
2. golang 中文官网(golang.google.cn)没有被墙跟源站一模一样,谷歌 dl 更是满速 从没被墙.
3. 如果你真的了解包管理,现在 ubuntu 都用 snap 管理包了. snap install go 一行命令就好了,但是偶尔会墙所以我没有写出来
4. 目前为止 我用 go 安装任何东西都不会被墙, goproxy 很好
lingxi27
2020-11-29 21:23:06 +08:00
请按官方指示安装,没有更简单的了
guochao
2020-11-29 21:29:56 +08:00
@buffzty
1 、我是猜测对方是还不会 Linux 的新手,bash 对他来说是另一个语言,这个时候加进来就是第三个问题。我回答问题的原则是拆解问题和不要一次性赛这么多问题给一个新手,所以这么建议。我没有一个个翻 user profile 的习惯……不是很在意对方是黑还是什么,给出来解决方案还要黑的,我觉得大家都看得出来。
2 、学到了,没注意过有这么个域名,只是因为 golang.com 被墙所以推荐 mirror 。dl 的确是满速,当时发现这个没有墙都震惊了。不过还是觉得 mirror 是必备品,尤其是在有源的校园 /公司网络内
3 、是,所以我也没提到 snap 。而且 snap 因为涉及到 Linux 本身的安全增强,有的情况下有奇怪的行为和性能,所以我不大喜欢这玩意儿
4 、配过 goproxy 当然没问题啦 :)

不过我是真的不明白,没有需求 <-> 这个东西难用 <-> 黑一个东西,为啥这个逻辑在很多人眼里理所应当
Hanggi
2020-11-29 22:30:30 +08:00
@felixcode
emmm, 最近本打算来个 Linux 本玩玩,但是感觉不见得比 Mac 好用。
felixcode
2020-11-29 22:38:47 +08:00
@Hanggi
每个人需求和感受都不一样,Linux 需要花费一些学习成本,但掌握后长期受益。
fx
2020-11-29 23:59:09 +08:00
这不是 ubuntu 的锅,出门左转 gfw
nguoidiqua
2020-11-30 00:55:23 +08:00
@nguoidiqua

手动装个 golang 当然没法用了,你不装别的东西了?都去手动安装?

我就不信你可以 ae 源一直用下去。

另外 Ubuntu Snap 商店的 golang 版本很新,apt 的话,20.10 是 1.14 的。
douglarek
2020-11-30 08:23:26 +08:00
官网下载个 Linux amd64 二进制配置个环境变量的事,你非得安装
linvaux
2020-11-30 08:38:13 +08:00
莫非楼主只会用 apt 安装软件? tar 包不香么,不能在一棵树上吊死啊
David1119
2020-11-30 09:06:44 +08:00
年轻人的第一次装包~~
gesse
2020-11-30 10:11:56 +08:00
@David1119
暂时还没有挨过其他的毒打。
araraloren
2020-11-30 10:47:20 +08:00
为啥不换 fedora,dnf 启用 fastest mirror 速度飞快,这年头还需要手动配置源???
bruce0
2020-11-30 10:49:46 +08:00
官网下个 tar 包,解压 配置两个环境变量 不就行了?
bruce0
2020-11-30 10:51:59 +08:00
@zxc12300123 同感
aguesuka
2020-11-30 12:44:33 +08:00
说明被坑得还是少了。比如 apt 的 agda 一直是个有问题的包,官方推荐下载源码编译

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/730150

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX