Yesod开发报错:找不到Yesod.Auth.Account模块
解决Yesod中找不到
Yesod.Auth.Account模块的问题 我之前也碰到过一模一样的情况,别慌,咱们一步步排查解决:
确认项目依赖是否正确声明
光全局安装yesod-auth-account包没用,stack是按项目依赖来管理的,你得把它加到项目的依赖配置里:- 打开项目根目录下的
.cabal文件,找到对应目标(比如executable或者library)的build-depends部分,添加yesod-auth-account,可以加上版本范围比如yesod-auth-account >= 1.5 && < 2.0(根据你用的Yesod版本调整) - 如果你的项目用了
stack.yaml,要是当前LTS快照里没有这个包,还得在extra-deps里加上具体版本,比如:extra-deps: - yesod-auth-account-1.5.0.1
- 打开项目根目录下的
重新安装依赖并构建
改完配置后,先运行stack build --only-dependencies让stack拉取并安装这个依赖包,之后再执行stack build重新构建整个项目。如果之前的缓存有残留,试试stack clean --full清空所有缓存后再重新构建,有时候旧缓存会搞出奇怪的问题。检查版本兼容性
要确认yesod-auth-account的版本和你项目使用的Yesod主版本兼容,比如如果你用的是Yesod 1.6,那得找对应支持1.6的yesod-auth-account版本,版本不匹配也会导致找不到模块的情况。核对导入语句拼写
最后再检查一遍你的导入语句,是不是import Yesod.Auth.Account,有没有大小写错误或者拼写错单词,比如把Account写成Acccount这种低级错误,有时候眼睛很容易忽略。
内容的提问来源于stack exchange,提问作者Giulio De Stasio
相关产品推荐
相关产品推荐

