请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

vscode rabbitmq/RabbitMQ is not in GOROOT 报错

拷贝了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”

正在回答 回答被采纳积分+3

4回答

提问者 王子虾2021 2021-07-11 21:39:21

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

Code-runner: File Directory As Cwd

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



1 回复 有任何疑惑可以回复我~
提问者 王子虾2021 2021-07-11 16:59:44

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 回复 有任何疑惑可以回复我~
Cap 2021-07-11 08:40:13

代码依赖

0 回复 有任何疑惑可以回复我~
Cap 2021-07-11 08:40:00

这个是要你解决rabbitmq依赖

0 回复 有任何疑惑可以回复我~
  • 提问者 王子虾2021 #1
    还是没懂哎
    vscode是这个结果
    [Running] go run "/Users/yuze/Documents/dev_fun/gofun/src/project/miaosha/rabbitmq_example/mainSimlpePublish.go"
    src/project/miaosha/rabbitmq_example/mainSimlpePublish.go:5:2: package rabbitmq/RabbitMQ is not in GOROOT (/usr/local/go/src/rabbitmq/RabbitMQ)
    
    [Done] exited with code=1 in 0.349 seconds
    
    
    但是mac上,是连接失败的问题
    go run /Users/yuze/Documents/dev_fun/gofun/src/project/miaosha/rabbitmq_example/mainSimlpePublish.go
    2021/07/11 11:33:57 failed to connect rabbitmq!:Exception (501) Reason: "EOF"
    exit status 1
    回复 有任何疑惑可以回复我~ 2021-07-11 11:35:31
  • Cap #2
    你开启go mod模式了吗
    回复 有任何疑惑可以回复我~ 2021-07-11 11:40:03
  • 提问者 王子虾2021 回复 Cap #3
    我开了啊,go mod init起来了
    回复 有任何疑惑可以回复我~ 2021-07-11 11:42:07
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信