使用apt-get安装Golang后接下来该做什么

使用apt-get安装Golang后接下来该做什么 你好,我是 Go 语言的新手, 在 Debian 9 上安装完 Go 语言后,接下来应该做什么? 如何添加路径并将 github.com 添加到代码中?

19 回复

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"

How to Install golang (go1.9) on Ubuntu 16.04

这个视频对我帮助很大

感谢大家, 我按照这个教程操作 https://www.tecmint.com/install-go-in-linux/ 安装过程很顺利,但当我打开另一个Linux终端并输入:

$ go version
bash: go: command not found

请问这是什么原因? 不好意思打扰各位了。

使用 gopei shell 项目安装完整生态系统。请在此处阅读文档并注意前置要求。请注意,完整功能需要 GitHub 账户。

我认为你是在导出环境变量的文件生效后才让它正常工作的,对吗?如果是这样,能否展示一下你最初导出的内容?我只是好奇在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 文件中。

试试这个

GitHub

udhos/update-golang

头像

update-golang 是一个用于轻松获取和安装新版 Golang 发布的脚本,对系统侵入性极小

我在 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 后,需要配置环境变量并设置工作区。以下是具体步骤:

  1. 验证安装: 运行 go version 确认安装成功。输出应类似:

    go version go1.11 linux/amd64
    
  2. 设置 GOPATH 环境变量: Go 使用 GOPATH 指定工作区目录。编辑 shell 配置文件(如 ~/.bashrc~/.profile):

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

    然后运行 source ~/.bashrc 使更改生效。

  3. 创建工作区目录结构: 在 GOPATH 下创建 srcbinpkg 目录:

    mkdir -p $GOPATH/{src,bin,pkg}
    
  4. 编写并运行简单程序: 在 $GOPATH/src/hello 目录创建 hello.go

    package main
    
    import "fmt"
    
    func main() {
        fmt.Println("Hello, Go!")
    }
    

    运行:

    go run hello.go
    
  5. 使用外部包(如 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 输出确认配置。

回到顶部