我下载并安装了tar.gz
文件,如文档中所述:https://golang.org/doc/install
编辑了我的.profile
以包括这些行
export PATH=$PATH:/usr/local/go/bin
export GOPATH=$HOME/go
export PATH=$PATH:$GOPATH/bin
第一行来自文档,第二行和第三行来自奥的《学会围棋》一书。
我的书希望我为负载测试网站安装hey
库。这是在安装Go的部分之后。
(base) n@u-IdeaPad-3-15IIL05: hey https://www.golang.org
Command 'hey' not found, but can be installed with:
sudo snap install hey # version 0.1.2, or
sudo snap install hey-mail # version 1.2.0
sudo apt install hey # version 0.1.2-2
See 'snap info <snapname>' for additional versions.
(base) n@u-IdeaPad-3-15IIL05:/media/n/NTFSUbuWin/Projects/Golang$ source $HOME/.profile(base) n@u-IdeaPad-3-15IIL05:/media/n/NTFSUbuWin/Projects/Golang$ hey https://www.golang.org
Summary:
Total: 1.5133 secs
Slowest: 0.6518 secs
Fastest: 0.1353 secs
Average: 0.3005 secs
Requests/sec: 132.1624
Response time histogram:
0.135 [1] |■
0.187 [61] |■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
0.239 [21] |■■■■■■■■■■■■■■
0.290 [40] |■■■■■■■■■■■■■■■■■■■■■■■■■■
0.342 [23] |■■■■■■■■■■■■■■■
0.394 [11] |■■■■■■■
0.445 [7] |■■■■■
0.497 [7] |■■■■■
0.548 [1] |■
0.600 [5] |■■■
0.652 [23] |■■■■■■■■■■■■■■■
Latency distribution:
10% in 0.1462 secs
25% in 0.1637 secs
50% in 0.2594 secs
75% in 0.3852 secs
90% in 0.6205 secs
95% in 0.6376 secs
99% in 0.6415 secs
Details (average, fastest, slowest):
DNS+dialup: 0.0134 secs, 0.1353 secs, 0.6518 secs
DNS-lookup: 0.0003 secs, 0.0000 secs, 0.0043 secs
req write: 0.0000 secs, 0.0000 secs, 0.0006 secs
resp wait: 0.1255 secs, 0.0650 secs, 0.3958 secs
resp read: 0.0031 secs, 0.0002 secs, 0.0213 secs
Status code distribution:
[200] 200 responses
因此,在我从项目目录中执行source $HOME/.profile
之后,它就工作了,尽管我已经在我认为全局的另一个终端实例中运行了这个命令。
问题出在哪里?
归根结底,~/.profile是在登录时来源的,而~/.bashrc是在打开新终端时来源的。因此,如果您将go环境变量添加到~/.profile,那么在您注销并再次登录之前,这些变量将不会得到来源。
golang文档建议使用~/.profile,因为它是环境变量的推荐位置。
另外请注意,~/.bashrc和~/.profile都不是系统范围的。其他用户无法访问它们。可以在/etc/profile中设置系统范围的环境变量。
有关更多详细信息,请参阅关于.bashrc和.profile之间差异的精彩解释。
与我在文档中读到的关于将导出写入.profile
以使其成为系统范围的内容相反,在作者删除之前,有一条评论说,将其写入我使用的任何shell。因此,在Ubuntu 20.04上,我改为编写到.bashrc
的导出。