如何消除stack ghci启动时的烦人情报警告信息?
如何抑制
stack ghci启动时的「无本地目标」警告 嘿,完全懂你的感受——刚开始摸索Haskell,就想快速启动个纯GHCi试试代码,结果每次都蹦出一串警告,确实有点烦。别担心,有几个简单的办法可以解决这个问题:
方法1:用专门的命令行选项直接抑制警告
如果你的Stack版本比较新(大概2.3及以上),可以直接加--no-warn-no-local-targets选项启动:
stack ghci --no-warn-no-local-targets
这个选项就是专门用来关掉你看到的那条「No local targets specified...」警告的,启动后就是你想要的纯GHCi环境,干净利落。
方法2:用--跳过本地项目检查
如果你的Stack版本没有上面那个选项,试试在命令后面加两个横杠:
stack ghci --
这会告诉Stack跳过对本地项目配置文件(比如stack.yaml、package.yaml)的检查,直接启动纯GHCi,同样不会弹出那条警告。
方法3:全局配置永久关闭警告
要是你不想每次都敲额外的参数,可以修改Stack的全局配置文件,一劳永逸解决问题:
- 打开(或创建)
~/.stack/config.yaml文件(Windows用户路径是%APPDATA%\stack\config.yaml) - 在文件里添加以下内容:
ghci: warn-no-local-targets: false
保存后,以后再运行stack ghci就再也看不到那个警告啦。
顺便解释下「无本地目标」的意思:其实就是Stack没在当前目录找到它需要的项目配置文件(用来管理依赖和构建的stack.yaml之类),所以没法加载任何本地项目代码,只能启动一个不带项目上下文的纯GHCi——这正好是你现在需要的状态,只是它多嘴提醒了你一下而已 😄
内容的提问来源于stack exchange,提问作者user1934428
相关产品推荐
相关产品推荐

