Golang中如何构建一个简单的Hello World程序

Golang中如何构建一个简单的Hello World程序 我在Ubuntu上运行Go,看起来已经安装成功了。

which go命令输出: /usr/local/go/bin/go

go version命令输出: go version go1.12 linux/amd64

我在.bashrc文件中添加了以下内容:

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

我在$HOME/go/hello目录下创建了一个hello.go文件

当我运行go build时,出现错误提示"failed to initialize build cache …"。我尝试使用sudo执行,但得到了"sudo go not found"的错误。

有什么解决建议吗?

谢谢


更多关于Golang中如何构建一个简单的Hello World程序的实战教程也可以访问 https://www.itying.com/category-94-b0.html

12 回复

修复权限的最简单方法是什么?

更多关于Golang中如何构建一个简单的Hello World程序的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


是的,它在 src 目录里面。谢谢

你似乎随意使用 sudo 的做法非常奇怪。

你需要重新修复所有权和权限。

在多次运行make命令后,服务器终于成功运行了。我也不知道怎么回事 😊

非常感谢您的帮助!

那么移动后它工作了吗?

还是你仍然遇到错误?

如果是这样,确切的错误是什么?你是如何尝试编译代码的?也就是说,你用来编译的确切命令是什么?

不,不是的

go-err

nadaa:

我在 $HOME/go/hello 目录下创建了一个 hello.go 文件

将其移动到 $GOPATH/src/hello 目录

包的源代码存放在 $GOPATH/src 目录下,而不是直接放在 $GOPATH 目录中。

识别无法读取或写入的文件,然后更改权限。

这是最正确的方法。

快速但粗糙的解决方法是执行 chown -r youruser:yourgroup ~。但这可能会改变你实际上不想更改的组所有权。如果你不明白我在说什么,可能不会有影响,但我仍然严格建议不要运行此命令。

// 代码示例保留原样

不要使用 sudo,除非你知道自己在做什么。

sudo 不是解决权限问题的方法,而 chmodchown 才是。

我不知道你是如何导致权限设置不当的,但删除构建缓存应该能解决你的问题。你可以在错误信息中看到它的路径。不过你可能需要使用 sudo rm,或者你也可以使用 chown -r youruser:yourmaingroup path/to/buildcache

// 代码示例
func main() {
    fmt.Println("hello world")
}

我成功运行了一个Go语言的Hello World程序,您的命令确实很有帮助!谢谢 :)

现在我在设置开发环境时遇到了另一个问题 我运行了makefile,但出现了错误"/bin/sh go not found"?

x

如果我在make命令前使用sudo,这又是一个权限问题,我收到了"go not found"的消息 有什么建议吗?

您的Go环境可能存在问题(即使设置看起来正常🤔)。我建议您使用这个项目来正确安装,之后一切都会正常工作。在此之前请删除您之前的所有安装和配置。

GitHub GitHub

头像

geosoft1/tools

包含各种用于Golang的工具,如安装程序、GitHub工具和云功能。- geosoft1/tools

根据你的描述,问题主要出现在环境配置和权限方面。以下是具体的解决方案:

1. 修复环境变量配置

你的.bashrc文件中存在语法错误和重复配置:

# 修正后的配置
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin

修正后执行:

source ~/.bashrc

2. 验证Go环境

# 检查Go是否可访问
which go
go env GOPATH

3. 创建正确的项目结构

$HOME/go目录下创建标准项目结构:

mkdir -p $HOME/go/src/hello
cd $HOME/go/src/hello

创建hello.go文件:

package main

import "fmt"

func main() {
    fmt.Println("Hello, World!")
}

4. 构建和运行程序

# 在项目目录中执行
go build
./hello

或者直接运行:

go run hello.go

5. 权限问题解决方案

如果仍有权限问题,检查目录权限:

# 确保对go目录有读写权限
chmod -R 755 $HOME/go

6. 清理构建缓存

如果构建缓存问题仍然存在:

# 清理Go模块缓存
go clean -cache
go clean -modcache

执行这些步骤后,你的Hello World程序应该能够正常构建和运行。关键是要确保环境变量配置正确,项目位于正确的GOPATH路径下,并且有适当的文件权限。

回到顶部