vscode rabbitmq/RabbitMQ is not in GOROOT 报错

来源:5-2 项目结构搭建&main.go编写

王子虾2021

2021-07-10

拷贝了rabbitmq的实例代码后,发现跑不起来,好多方法解决不了。
代码目录:/Users/yuze/Documents/dev_fun/gofun/src/rabbitmq_example

报错如下
mainSimpleRecieve.go:3:8: package rabbitmq/RabbitMQ is not in GOROOT (/usr/local/go/src/rabbitmq/RabbitMQ)

yuze@yuze-dev rabbitmq_example $ go env | grep -i root
GOROOT="/usr/local/go"
yuze@yuze-dev rabbitmq_example $ go env | grep -i path
GOPATH="/Users/yuze/Documents/dev_fun/gofun"
yuze@yuze-dev rabbitmq_example $ go env | grep -i module
GO111MODULE=“on”

写回答

4回答

王子虾2021

提问者

2021-07-11

一个插件背锅,导致目录一直找不到。需要把勾√打上

Code-runner: File Directory As Cwd

Whether to use the directory of the file to be executed as the working directory.



1
0

王子虾2021

提问者

2021-07-11

vscode直接运行提示找不到路径,但是mac terminal就可以直接运行

1、vscode右键运行

[Running]

go run “/Users/yuze/Documents/dev_fun/gofun/src/miaosha_project/test/main.go”


src/miaosha_project/test/main.go:6:2: no required module provides package github.com/kataras/iris/v12: go.mod file not found in current directory or any parent directory; see ‘go help modules’




2、直接用mac terminal运行

go run “/Users/yuze/Documents/dev_fun/gofun/src/miaosha_project/test/main.go”


yuze@yuze-dev miaosha_project $ go run "/Users/yuze/Documents/dev_fun/gofun/src/miaosha_project/test/ma

in.go"

Now listening on: http://localhost:8080

Application started. Press CMD+C to shut down.




路径都是存在的,非常奇怪,怀疑是不是vscode哪里配置有问题,导致go run的时候找到了别的目录去了

../../pkg/mod/github.com/kataras/iris/v12\@v12.1.8/

setting.json里面也有两个目录

"go.gopath": "/Users/yuze/Documents/dev_fun/gofun",

"go.goroot": "/usr/local/go",




代码用的是最简单的iris样例

//server.go


package main


import (

    "github.com/kataras/iris/v12"

)


func main() {

    app := iris.New()


    //输出html

    // 请求方式: GET

    // 访问地址: http://localhost:8080/welcome

    app.Handle("GET", "/welcome", func(ctx iris.Context) {

        // ctx.HTML返回一个html页面,

        ctx.HTML("<h1>Welcome</h1>")

    })

    //输出字符串

    // 类似于 app.Handle("GET", "/ping", [...])

    // 请求方式: GET

    // 请求地址: http://localhost:8080/ping

    app.Get("/ping", func(ctx iris.Context) {

        // ctx.WriteString将向请求方返回一个字符串

        ctx.WriteString("pong")

    })

    //输出json

    // 请求方式: GET

    // 请求地址: http://localhost:8080/hello

    app.Get("/hello", func(ctx iris.Context) {

        // ctx表示返回的结果,ctx.JSON即为返回一个json字符串

        ctx.JSON(iris.Map{"message": "Hello Iris!"})

    })

    app.Run(iris.Addr(":8080")) //8080 监听端口


}


0
0

Cap

2021-07-11

代码依赖

0
0

Cap

2021-07-11

这个是要你解决rabbitmq依赖

0
3
王子虾2021
回复
Cap
我开了啊,go mod init起来了
2021-07-11
共3条回复

全流程开发 GO实战电商网站高并发秒杀系统

运用架构设计与系统化思维,从容应对不同流量等级的“秒杀”场景

1462 学习 · 443 问题

查看课程