MacOS安装Revel框架失败:无法识别gopkg.in/fsnotify.v1导入路径
解决
go get github.com/revel/revel时gopkg.in/fsnotify.v1 404的问题 这个问题我之前也碰到过,本质是gopkg.in/fsnotify.v1这个旧的包路径已经被归档,官方不再维护该镜像路径,而旧版本的Revel框架依赖了这个失效的路径,导致Go无法解析到正确的包元信息。
给你几个可行的解决办法,按优先级排序:
方法1:升级到Revel的最新版本
最新版的Revel已经把依赖替换成了官方的github.com/fsnotify/fsnotify路径,直接拉取最新版即可:
go get -v github.com/revel/revel@latest
这个方法最彻底,还能顺便获取Revel的新特性和bug修复。
方法2:手动映射旧路径到新包
如果你必须使用旧版本的Revel,可以手动在GOPATH里创建软链接,让Go解析旧路径时指向正确的包:
- 先拉取官方的fsnotify包:
go get github.com/fsnotify/fsnotify - 创建gopkg.in的目录并建立软链接:
mkdir -p $GOPATH/src/gopkg.in ln -s $GOPATH/src/github.com/fsnotify/fsnotify $GOPATH/src/gopkg.in/fsnotify.v1
完成后再执行go get -v github.com/revel/revel就能正常拉取了。
额外排查点
- 先检查你的GOPATH环境变量是否正确设置,执行
echo $GOPATH确认路径存在; - 尝试手动clone fsnotify的仓库,看网络是否正常:
git clone https://github.com/fsnotify/fsnotify.git,如果clone失败,可能需要检查网络代理或防火墙设置。
内容的提问来源于stack exchange,提问作者Michael Lindner
相关产品推荐
相关产品推荐

