我有以下文件结构:
- project/
- src/
- main/
- main.go
- viewmodels/
- home.go
- public/
我的项目位于:
~/go/src/
当我试图运行我的主文件时它抛出错误:
src/main/main.go:10:2: cannot find package "viewmodels" in any of:
/usr/local/Cellar/go/1.5.3/libexec/src/viewmodels (from $GOROOT)
/Users/nicholasrucci/go/src/viewmodels (from $GOPATH)
看起来 main 正在错误的位置寻找 package viewmodels
。据我了解,阅读后How to Write Go Code之前的程序运行正常,我的配置设置正确,但显然有问题。
从.zshrc转到相关配置:
export GOPATH=$HOME/go
export PATH=$PATH:/usr/local/opt/go/libexec/bin
export PATH=$PATH:$GOPATH/bin
export PATH=$PATH:/usr/local/go/bin
main.go 的片段:
package main
import (
"bufio"
"log"
"net/http"
"os"
"strings"
"text/template"
"viewmodels"
)
home.go 的片段:
package viewmodels
import ()
关于正在发生的事情以及我如何解决这个问题的任何方向都很好。谢谢。
最佳答案
您应该使用完整的包名称作为导入路径:"project/src/viewmodels"
在这种情况下,假设项目位于 /Users/nicholasrucci/go/src
,但我会以不同的方式构建您的项目文件夹(例如没有 src 文件夹)
或者,您可以将 GOPATH 设置为项目文件夹的完全限定路径,这样您的 main.go 就可以像您拥有的那样import "viewmodels"
。
关于go - 我的主文件找不到我创建的导入到主文件中的另一个文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36346057/