使用apt-get安装Golang后接下来该做什么
使用apt-get安装Golang后接下来该做什么
你好,我是 Go 语言的新手,
在 Debian 9 上安装完 Go 语言后,接下来应该做什么?
如何添加路径并将 github.com 添加到代码中?
iegomez,在Debian 9上无法工作
更多关于使用apt-get安装Golang后接下来该做什么的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
iegomez,谢谢你,还有forum.golangbridge.org也谢谢。
那个项目只是下载并解压了 Go 编译器,没有设置 GOPATH 或其他配置。不太实用 😕。
我发现每次在终端中使用Go语言时,都需要添加:
export PATH=$PATH:/usr/local/go/bin
iegomez:
export PATH=$PATH:/usr/local/go/bin
export GOPATH="$HOME/go"
抱歉,这个方法没有奏效。
抱歉,我复制粘贴时搞乱了导出语句。你需要的是这个:
export PATH=$PATH:/usr/local/go/bin
export GOPATH="$HOME/go"
感谢大家, 我按照这个教程操作 https://www.tecmint.com/install-go-in-linux/ 安装过程很顺利,但当我打开另一个Linux终端并输入:
$ go version
bash: go: command not found
请问这是什么原因? 不好意思打扰各位了。
我认为你是在导出环境变量的文件生效后才让它正常工作的,对吗?如果是这样,能否展示一下你最初导出的内容?我只是好奇在bashrc和教程中导出的内容之间是否存在差异。
另外,我推测如果你在新终端中直接执行 /usr/local/go/bin/go version,应该能获得正确的Go版本信息。
func main() {
fmt.Println("hello world")
}
补充Jakob和Ignacio所说的内容,默认情况下apt会安装一个旧版本的Go,这要求你在运行go get时设置GOPATH来存放你的包。但如果你安装的是大于1.10的最新版本,就不需要配置GOPATH了,它会默认使用用户的主目录,这样操作起来就简单多了。所以请按照Jakob上面提到的方法获取新版Go。
我完全赞同雅各布的建议:使用 apt 移除那个旧版本的 Go。正如你所说,你是 Go 语言的新手,除非你喜欢未解决的错误和性能较低的代码,否则没有理由从 Go 1.7 开始而不是直接使用 Go 1.10。
话虽如此,我也在使用 Debian 9。只需将最新版本解压到 /usr/local 目录,然后将这些导出语句添加到 .bashrc 文件中。
我在 Debian 上也遇到了问题,因为我是 Linux 新手。后来我阅读了这篇文章:环境变量 - Debian Wiki
图形登录默认不会读取 shell 的启动文件(/etc/profile 和 ~/.profile 等),但您可以选择创建 ~/.xsessionrc 文件来实现此功能。
于是我创建了 ~/.xsessionrc 并添加了以下内容:
if [ -f ~/.profile ]; then
. ~/.profile
fi
在注销并重新登录后,这个方法就生效了。
只需将Go添加到您的路径中。打开 /home/您的用户名/.bashrc 文件,并在文件末尾添加以下内容:
export GOPATH="$HOME/go"
export PATH="$PATH:$GOPATH/bin"
问题是,在 Debian 9 中(不确定这是普遍情况还是仅是我的配置,但可能也适用于您的环境),当您打开新终端时,.profile、.bash_profile 甚至 /etc/profile 都不会被加载(至少默认情况下不会),但 .bashrc 会被加载。
我的第一步是使用 apt-get remove 卸载它,然后从 https://golang.org/dl 下载最新版本。将其解压到 /usr/local/ 目录(这样会形成 /usr/local/go 路径),将 /usr/local/go/bin 添加到你的 $PATH 环境变量中,就可以正常使用了。
作为普通用户,你的 Go 代码("$GOPATH")默认会存放在 ~/go 目录。你可以执行 go get github.com/someone/whatever 命令,相关代码将会被下载到该目录并进行编译。
func main() {
fmt.Println("hello world")
}
在.bashrc(或根据系统不同可能是.profile、.bash_profile等)中设置导出的全部意义在于无需每次都手动导出。就您的情况而言,我确实建议检查为什么打开新终端时.bashrc没有执行,因为这不是Go语言特有的问题。顺便提一下,如果我说错了请指正:.profile是在打开新的登录shell时执行的,而.bashrc是针对非登录shell执行的(在Debian系统中)。所以如果您使用类似Guake这样的终端,可能需要对打开的shell类型进行某些设置。
// 代码示例保留原样
func main() {
fmt.Println("hello world")
}
感谢calmh Jakob Borg, 我在系统中搜索了Go并找到了以下路径: /usr/lib/go /usr/lib/go-1.7 /usr/share/go /usr/share/go-1.7
当我输入echo $GOPATH时没有任何返回:
echo $GOPATH
#无输出
su
echo $GOPATH
#无输出
当我执行:
go get github.com/jochasinga/golang-book/tree/master/chapter11/math
返回:package github.com/jochasinga/golang-book/tree/master/chapter11/math: cannot download, $GOPATH not set. For more details see: go help gopath
我是否应该执行:
export GOPATH=$HOME/gocode
export PATH=$PATH:$GOPATH/bin
在 Debian 9 上使用 apt-get 安装 Go 后,需要配置环境变量并设置工作区。以下是具体步骤:
-
验证安装: 运行
go version确认安装成功。输出应类似:go version go1.11 linux/amd64 -
设置 GOPATH 环境变量: Go 使用
GOPATH指定工作区目录。编辑 shell 配置文件(如~/.bashrc或~/.profile):export GOPATH=$HOME/go export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin然后运行
source ~/.bashrc使更改生效。 -
创建工作区目录结构: 在
GOPATH下创建src、bin和pkg目录:mkdir -p $GOPATH/{src,bin,pkg} -
编写并运行简单程序: 在
$GOPATH/src/hello目录创建hello.go:package main import "fmt" func main() { fmt.Println("Hello, Go!") }运行:
go run hello.go -
使用外部包(如 github.com): 在代码中导入 GitHub 包时,Go 会自动从
github.com下载。例如,创建$GOPATH/src/github_test/main.go:package main import ( "fmt" "github.com/your-username/your-repo" ) func main() { fmt.Println("Using external package") }运行
go get github.com/your-username/your-repo下载依赖,然后使用go run main.go执行。
确保所有路径正确,并检查 go env 输出确认配置。


