树莓派3升级golang版本

缘由

今天想用树莓派来编译区块链钱包geth,发现go的版本太低:

faef51c1f53f42b1e420ac6a0c07ad38.png

apt的自带库里,最新的就是1.8,编译geth最低要求也是1.9以上,那就明显无法编译了。

$ sudo apt-cache search golang | grep golang

0e34749824306f50689d1e617171f614.png

解决办法

那就去官网看看如何升级。

官网说想要升级,就得先卸载旧的版本:

20280517a789bcecdd02b0cb61cdcb71.png

那也太麻烦了,我们看看go的二进制是哪个:

$ which go

/usr/bin/go

$ file /usr/bin/go

/usr/bin/go: symbolic link to ../lib/go-1.7/bin/go

可以看到只是一个指向/usr/lib/go-1.7/bin/go的符号链接,那就好办了。我们把这个文件夹里面的内容升级一下,不就好了?

话虽这么说,同时也谷歌了一下树莓派升级go版本,发现没有类似文章,只有安装新版本的文章。

c0ac7ed8e95e1bb99de4c0837a89942e.png

看到其原理其实就是文件夹解压过去,路径设置下其实就ok了。

那就更加轻松了,路径我们本身其实不用动,系统默认的其实是正常的。

9b4d5ed254c2108f637a4570211d3cac.png

那就直接把文件夹替换一下不就OjbK了?答案是肯定的。

操作

下载最新的包,官网已经有1.10.3发布了,关键还是stable,那就肯定选择稳定的。

58a5f5f593f022e160fe04648d1ffa66.png

选择arm64后面安装失败了,看了下树莓派3貌似CPU是64位的,可是默认的Raspbian系统还是v7的32位,那就只能装官方的v6版本了。

$ uname -a

Linux raspberrypi 4.14.50-v7+ #1122 SMP Tue Jun 19 12:26:26 BST 2018 armv7l GNU/Linux

我用wget下载一直没能成功,就直接PC浏览器下载之后scp拷贝过来了,然后一顿操作:

98880822492ccd40bbf5f80f9c67939b.png

然后就愉快地开始编译了。

然后就编译成功了!

3279de8e75cea49d4ce63330b8b04694.png