go的卸载与重装(linux系统)

99MyCql · · 3458 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

前言

我在安装配置(非本人操作)了go的linux虚拟机上,尝试用 $ go get github.com/astaxie/beego 获取beego框架。但是,却出现了一个奇怪的错误: go: cannot find main module; see 'go help modules' ,怎么查询都没有找到问题原因。这对于一个刚接触go和linux的新手来说,是手足无措的。于是,心生一计,卸载重装。

一、卸载

1.删除GOROOT目录

$ go env 找到GOROOT目录,在我的linux上为 srv/go ,而常见的应该是 usr/local/go 。然后,使用$ rm -rf删除该目录。(用这个命令是不可能的,这辈子都不可能用的,这个命令删除文件真香)我不建议这样删除,因为与Windows不同,linux这样删除文件之后几乎是很难复原的。其中,-r 指向下递归,不管有多少级目录,一并删除;-f 指直接强行删除,不作任何提示的意思。可以看出,这个命令是很野蛮的。

所以,我们就暂时先保留这个目录。

2.删除GOPATH目录

这个目录可以保留。也可以用上述那个命令删除,如果其中没有重要文件的话。

卸载这步就结束了(实际上并没卸载)。

二、下载

1.下载安装包

$ wget https://studygolang.com/dl/golang/go1.10.4.linux-amd64.tar.gz 从网上找linux go1.10 版本源码的下载网址(因为modules好像是go1.11版本的东西),然后下载到当前目录。下载完,$ ls 就能看到一个名为 go1.10.4.linux-amd64.tar.gz 的压缩包。

注:为什么要下载压缩包自己解压安装呢?是因为apt便捷安装版本是1.6的,而且什么都由apt帮你完成,因其隐秘而不喜。喜欢自己下载自己安装,清楚知道每一步、每一包在哪。

2.解压

$ tar -zxvf go1.10.4.linux-amd64.tar.gz 解压到当前目录,得到一个名为 go 的文件夹,即go源码。

3.转移

$ mv go /usr/local/ 在下载go源码的目录下,将 go 源码文件夹移动到/usr/local/文件夹下。

注解

  • 在linux中,只有一个根目录即 / ,根目录包含了各种linux中重要的文件目录,如home/、etc/、usr/、root/目录等等。使用$ cd /命令即能直接到达根目录,不论你在任何目录下。而不管你在哪 /usr/local/ 也能访问根目录下的usr文件夹。

  • 另外,linux可以有多个用户,除了权限最大的root用户,还可以创建其它用户,如test用户。每个用户登录时都会进入该用户的 HOME 目录。root用户 HOME 目录即 /root/ 目录,而test用户 HOME 目录为 /home/test/ 。若要查看该用户HOME目录,可以 $ echo $HOME 。同样,$ cd ~ 能直接到达用户 HOME 目录下。

三、配置

$ vim /etc/profile 编辑/etc/profile文件(全局变量配置文件),增加以下内容:

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin

注解

  • GOROOT 指向go的源码文件夹(即下载解压转移后的文件夹位置)。该文件夹下的 bin/ 目录是一些go命令的二进制执行文件。
  • GOPATH 指向go的工作空间。此处推荐一篇博客https://www.cnblogs.com/pyyu/p/8032257.html
  • PATH=$PATH:$GOROOT/bin:$GOPATH/bin 是指在原有 PATH 环境变量路径上加上内容,:为分隔符。

四、查看成果

$ go env 查看 go 环境。

$ go get github.com/astaxie/beego 成功,版本问题。


有疑问加站长微信联系(非本文作者)

本文来自:简书

感谢作者:99MyCql

查看原文:go的卸载与重装(linux系统)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3458 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传