金钱(警告)
** 状态:** 被贬值
此文章已被删除,不再保留。
理由
我们现在正在为每个Linux发行版单独版本和更新我们的Go安装文档。
相反,看
本文可能仍然有用作为参考,但可能无法工作或遵循最佳实践. 我们强烈建议使用最近为您正在使用的操作系统撰写的一篇文章。
- [如何在Ubuntu 20.04上安装Go(https://andsky.com/tech/tutorials/how-to-install-go-on-ubuntu-20-04)
美元
介绍
开发人员不断地不得不选择一个有效执行但需要很长时间的编译语言,或者选择一个易于编程但在生产中运行不有效的语言。
虽然Go是一个多功能的编程语言,可以用于许多不同的编程项目,但它特别适合网络 / 分布式系统程序,并赢得了云的语言
的声誉。它专注于帮助现代程序员用强大的工具组做更多,通过使格式成为语言规格的一部分来消除对格式的争论,以及通过编译到单个二进制来轻松部署。
本教程将引导您通过命令行安装和配置一个编程工作区的Go。本教程将明确涵盖Ubuntu 18.04的安装程序,但一般原则可以适用于其他Debian Linux发行版。
前提条件
您将需要安装Ubuntu 18.04的计算机或虚拟机,以及对该计算机的管理访问和互联网连接,您可以通过 Ubuntu 18.04 发布页面下载此操作系统。
步骤1 - 设置起步
在此步骤中,您将通过从 官方 Go 下载页面下载当前版本来安装 Go。
要做到这一点,你会想找到当前二进制发行 tarball 的 URL. 你还会想注意旁边列出的 SHA256 哈希,因为你会用这个哈希来验证下载的文件(https://andsky.com/tech/tutorials/how-to-verify-downloaded-files)。
您将在命令行上完成安装和设置,这是与计算机交互的非图形方式. 也就是说,而不是点击按钮,您将键入文本并通过文本从您的计算机获得反馈。
命令行,也被称为 shell 或 terminal,可以帮助您修改和自动化您每天在计算机上执行的许多任务,并且是软件开发人员必不可少的工具。
在Ubuntu 18.04,你可以通过点击屏幕的左上角的Ubuntu图标来找到终端应用程序,然后在搜索栏中键入终端
。
一旦终端打开,您将手动安装 Go 二进制工具. 虽然您可以使用包管理器,如apt-get
,但通过手动安装步骤将帮助您理解对您的系统所需的任何配置更改,以获得有效的 Go 工作区。
在下载 Go 之前,请确保您位于 Home (~
) 目录中:
1cd ~
使用弯曲
来获取您从官方 Go 下载页面复制的 tarball URL:
1curl -LO https://dl.google.com/go/go1.12.1.linux-amd64.tar.gz
接下来,使用‘sha256sum’来验证 tarball:
1sha256sum go1.12.1.linux-amd64.tar.gz
上面的命令中显示的哈希应该匹配下载页面上的哈希,如果不是,那么这不是一个有效的文件,你应该再次下载该文件。
1[secondary_label Output]
22a3fdabf665496a0db5f41ec6af7a9b15a49fbe71a85a50ca38b1f13a103aeec go1.12.1.linux-amd64.tar.gz
接下来,提取下载的档案并将其安装到系统上所需的位置,将其保存在/usr/local
下的最佳做法:
1sudo tar -xvf go1.12.1.linux-amd64.tar.gz -C /usr/local
您现在将在/usr/local
目录中有一个名为go
的目录。
<$>[注]
注 :虽然/usr/local/go
是官方推荐的位置,但有些用户可能更喜欢或需要不同的路径。
在此步骤中,您已在 Ubuntu 18.04 机器上下载并安装了 Go. 在下一步,您将配置您的 Go 工作空间。
第2步:创建你的工作空间
您现在可以创建您的编程工作区,安装了 Go 工作区,其根源将包含两个目录:
src
: 包含 Go 源文件的目录. 源文件是您使用 Go 编程语言编写的文件。 源文件由 Go 编译器用于创建可执行的二进制文件。bin
: 包含 Go 工具构建和安装的可执行文件的目录。
src
子目录可能包含多个版本控制存储库(如 Git, Mercurial和 Bazaar)。这允许您在项目中导入代码。
当你的程序导入第三方库时,你会看到github.com
,golang.org
或其他类似的目录. 如果你正在使用github.com
这样的代码存储库,你还会将你的项目和源文件放在该目录中。
以下是典型的工作空间可能看起来像什么:
1.
2├── bin
3│ ├── buffalo # command executable
4│ ├── dlv # command executable
5│ └── packr # command executable
6└── src
7 └── github.com
8 └── digitalocean
9 └── godo
10 ├── .git # Git repository metadata
11 ├── account.go # package source
12 ├── account_test.go # test source
13 ├── ...
14 ├── timestamp.go
15 ├── timestamp_test.go
16 └── util
17 ├── droplet.go
18 └── droplet_test.go
Go 工作区的默认目录为 1.8 时的用户主目录,其子目录为go
或$HOME/go
。
发出以下命令来创建 Go 工作区的目录结构:
1mkdir -p $HOME/go/{bin,src}
-p
选项告诉mkdir
在目录中创建所有父母
,即使他们目前不存在,使用{bin,src}
创建一个对mkdir
的参数集,并告诉它创建bin
目录和src
目录。
这将确保下列目录结构现在处于运行状态:
1└── $HOME
2 └── go
3 ├── bin
4 └── src
在 Go 1.8 之前,需要设置一个名为 $GOPATH 的本地环境变量。 $GOPATH 告诉编译器在哪里找到进口的第三方源代码,以及您所编写的任何本地源代码。
您可以通过将全球变量添加到您的~/.profile
来设置您的$GOPATH
。
首先,使用nano
或您喜爱的文本编辑器打开~/.profile
:
1nano ~/.profile
设置您的$GOPATH
,将下列内容添加到文件中:
1[label ~/.profile]
2export GOPATH=$HOME/go
当Go编译和安装工具时,它会将它们放在$GOPATH/bin
目录中。为了方便,通常在~/.profile
中将工作区的/bin
子目录添加到您的PATH
:
1[label ~/.profile]
2export PATH=$PATH:$GOPATH/bin
这将允许您在您的系统中的任何地方运行您编译或下载的任何程序。
最后,你需要在你的PATH
中添加go
二进制,你可以通过在行末尾添加/usr/local/go/bin
来做到这一点:
1[label ~/.profile]
2export PATH=$PATH:$GOPATH/bin:/usr/local/go/bin
将/usr/local/go/bin
添加到您的$PATH
使所有Go工具在您的系统上可用。
要更新您的壳,发出以下命令来加载全球变量:
1. ~/.profile
您可以通过使用echo
命令和检查输出来验证您的$PATH
更新:
1echo $PATH
您将看到您的$GOPATH/bin
将出现在您的主目录中. 如果您已登录为root
,您将在路径中看到/root/go/bin
。
1[secondary_label Output]
2/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/go/bin:/usr/local/go/bin
您还会看到/usr/local/go/bin
的 Go 工具的路径:
1[secondary_label Output]
2/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/root/go/bin:/usr/local/go/bin
通过检查当前版本的 Go 来验证安装:
1go version
我们应该得到这样的输出:
1[secondary_label Output]
2go version go1.12.1 linux/amd64
现在您已经创建了工作区的根和您的$GOPATH
环境变量集,您可以使用以下目录结构创建未来的项目。
1$GOPATH/src/github.com/username/project
举个例子,如果你在 https://github.com/digitalocean/godo
项目上工作,它将存储在以下目录中:
1$GOPATH/src/github.com/digitalocean/godo
这个项目结构将使项目通过去获取
工具可用,它也将有助于以后的可读性,您可以使用去获取
命令来验证这一点,并获取去获取
库:
1go get github.com/digitalocean/godo
这将下载godo
库的内容,并在您的机器上创建$GOPATH/src/github.com/digitalocean/godo
目录。
您可以通过列出目录来检查它是否成功下载了godo
包:
1ll $GOPATH/src/github.com/digitalocean/godo
你应该看到类似于此的输出:
1[secondary_label Output]
2drwxr-xr-x 4 root root 4096 Apr 5 00:43 ./
3drwxr-xr-x 3 root root 4096 Apr 5 00:43 ../
4drwxr-xr-x 8 root root 4096 Apr 5 00:43 .git/
5-rwxr-xr-x 1 root root 8 Apr 5 00:43 .gitignore*
6-rw-r--r-- 1 root root 61 Apr 5 00:43 .travis.yml
7-rw-r--r-- 1 root root 2808 Apr 5 00:43 CHANGELOG.md
8-rw-r--r-- 1 root root 1851 Apr 5 00:43 CONTRIBUTING.md
9.
10.
11.
12-rw-r--r-- 1 root root 4893 Apr 5 00:43 vpcs.go
13-rw-r--r-- 1 root root 4091 Apr 5 00:43 vpcs_test.go
在此步骤中,您创建了 Go 工作区并配置了所需的环境变量。
步骤三:创建一个简单的程序
现在你已经设置了 Go 工作区,创建一个Hello, World!
程序,这将确保工作区配置正确,并为你提供机会更熟悉 Go. 因为我们正在创建一个单一的 Go 源文件,而不是一个实际的项目,我们不需要在我们的工作区来做到这一点。
从您的主目录中,打开一个命令行文本编辑器,例如nano
,并创建一个新的文件:
1nano hello.go
在新文件中写下你的程序:
1package main
2
3import "fmt"
4
5func main() {
6 fmt.Println("Hello, World!")
7}
此代码将使用fmt
包,并将Println
函数称为Hello, World!
作为参数,这将导致程序运行时将Hello, World!
短语打印到终端。
输出nano
按CTRL
和X
键,当被要求保存文件时,按Y
,然后按ENTER
。
一旦你离开nano
并返回你的壳,运行该程序:
1go run hello.go
hello.go
计划将使终端产生以下输出:
1[secondary_label Output]
2Hello, World!
在此步骤中,您使用了一个基本程序来验证您的 Go 工作区是否正确配置。
结论
恭喜你!在这个时候,你可以在 Ubuntu 机器上设置一个 Go 编程工作区,并可以开始编码项目!