ansi-terminal 和本机 io 管理器不起作用

Posted

技术标签:

【中文标题】ansi-terminal 和本机 io 管理器不起作用【英文标题】:ansi-terminal and native io manager doesn't work 【发布时间】:2021-10-28 01:42:27 【问题描述】:

我同时使用 2 个函数,一个使用 getChar 输入,另一个在终端上绘制一些字符,但是,我使用 ansi-terminal 在屏幕上移动光标 问题是当我编译时抛出下一个错误

user error (pattern match failure in do expression at libraries\Win32\System\Win32\Types.hsc

这仅在我设置“+RTS --io-manager=native”标志时发生,但这是必要的,因为没有它 getChar 无法正常工作

【问题讨论】:

【参考方案1】:

此问题已在 Win32 的 2.12.0.1 版本中得到修复。见this issue。

如果您使用的是 cabal,我认为您可以使用以下内容制作一个 cabal.project 文件:

packages: .

constraints: Win32 >= 2.12.0.1

或者,如果您使用堆栈,我相信您可以在您的stack.yaml 中将Win32-2.12.0.1 添加到您的extra-deps

【讨论】:

有没有办法在不使用 cabal 或 stack 的情况下将其指定给编译器? @monadicAutomaton 如果你已经在你的包数据库中安装了这个包,那么你应该可以运行ghc -package Win32-2.12.0.1 YourFile.hs,但是通过 cabal 或 stack 将一个包安装到包数据库中是最简单的,所以我真的会推荐。您可以在this part of the GHC documentation阅读所有详细信息。

以上是关于ansi-terminal 和本机 io 管理器不起作用的主要内容,如果未能解决你的问题,请参考以下文章

Google跟踪代码管理器不工作?

Android 位置管理器不起作用

Tizen Studio 模拟器和设备管理器不工作

Android Studio - AVD 管理器不可见

Rancher 2.0 - 故障排除和修复“控制器管理器不健康问题”

exoplayer 通知管理器不显示搜索栏拇指