【发布时间】:2018-02-18 19:08:32
【问题描述】:
由于这个错误,我似乎无法运行我的 go 代码
标准包“goprojects/search”中的非标准导入“gopkg.in/olivere/elastic.v5”
Main.go 位于:C:\Go\src\goprojects\search\main.go
GOROOT 是 C:\Go
GOPATH 是 C:\Go\src\goprojects(尝试在此处添加我当前的工作目录 \search,但没有帮助)
当我运行“go get gopkg.in/olivere/elastic.v5”时,我会在 C:\Go\src\goprojects\src\gopkg.in\olivere\elastic.v5 中获得导入的文件
visual studio 代码给了我这个信息
在以下任何一个中都找不到包“go.pkg.in/olivere/elastic.v5”:
C:\Go\src\vendor\gopkg.in\olivere\elastic.v5(供应商树)
C:\Go\src\gopkg.in\olivere\elastic.v5(来自 $GOROOT)
C:\Go\src\goprojects\src\gopkg.in\olivere\elastic.v5(来自 $GOPATH)
我的代码
package main
import (
"fmt"
"net/http"
elastic "gopkg.in/olivere/elastic.v5"
)
func main() {
http.HandleFunc("/search", search)
http.ListenAndServe(":3000", nil)
}
func search(w http.ResponseWriter, r *http.Request) {
searchString := r.URL.Query().Get("q")
fmt.Println("Searching for" + searchString)
// Create a client
client, err := elastic.NewClient()
w.Write([]byte(searchString))
}
【问题讨论】:
-
你不能把你的代码放在GOROOT中。见How to Write Go Code
-
意识到,我遵循的视频教程把它放在那里,所以我也做了同样的事情
标签: go