Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell MINGW64上的堆栈测试输出出现混乱_Haskell_Ghc_Haskell Stack_Mingw W64 - Fatal编程技术网

Haskell MINGW64上的堆栈测试输出出现混乱

Haskell MINGW64上的堆栈测试输出出现混乱,haskell,ghc,haskell-stack,mingw-w64,Haskell,Ghc,Haskell Stack,Mingw W64,我在Windows10上使用Stack运行GHC,并在日常工作流程中使用GitBash(MINGW64)。这包括使用GHC和GHCi,它们通常工作良好 但是,当我从MINGW64运行堆栈测试时,输出被ANSI颜色代码弄乱: $ stack test UC-0.1.0.0: test (suite: UC-test) [?25lSorting Group 1: [2K[1F prop1: [[92mOK, passed 100 tests[0m] [2K[1F prop2: [[92mO

我在Windows10上使用Stack运行GHC,并在日常工作流程中使用GitBash(MINGW64)。这包括使用GHC和GHCi,它们通常工作良好

但是,当我从MINGW64运行
堆栈测试时,输出被ANSI颜色代码弄乱:

$ stack test
UC-0.1.0.0: test (suite: UC-test)

[?25lSorting Group 1:

[2K[1F  prop1: [[92mOK, passed 100 tests[0m]

[2K[1F  prop2: [[92mOK, passed 100 tests[0m]

         Properties  Total
 Passed  [92m2[0m           [92m2[0m
 Failed  0           0
 Total   [92m2[0m           [92m2[0m
[?25h
奇怪的是,如果我从普通的Windows控制台(
cmd
)运行
堆栈测试
,它会正确显示:

我希望继续使用我的(Git)Bash控制台,而不必使用两个单独的控制台窗口,因此:

  • 是否有可能在MINGW64中为
    堆栈测试
    获得正确渲染的颜色
  • 或者,我是否可以为
    堆栈测试关闭ANSI着色功能,以便至少更容易读取输出

我还尝试运行了不同的
堆栈--color never test
,但似乎没有任何区别。

参数可以像这样传递给测试可执行文件:

stack test --test-arguments "--plain"

--plain
是在测试框架中删除颜色的选项,而
--color never
是从tasty删除的。

我在Windows 10、Git 2.17.0和MINGW64作为Git Bash shell上也遇到过同样的问题。在我运行“php artisan tinker”之前,颜色是好的,之后颜色停止,所有输出突然被ANSI颜色代码弄乱

我的解决方案是(让我惊讶的是它居然奏效):在Git Bash shell中运行Bash

之前:

$ php artisan tinker
?[34mPsy Shell v0.7.2 (PHP 7.1.11 ΓÇö cli) by Justin Hileman?[39m
>>> exit
?[37;41mExit:  Goodbye.?[39;49m
$
之后:

$ bash
$ php artisan tinker
Psy Shell v0.7.2 (PHP 7.1.11 — cli) by Justin Hileman
>>> exit
Exit:  Goodbye.
$

这确实是一种变通办法,但它是有效的。也许这是一个线索,以实际的根本问题。终端类型似乎无关紧要(xterm、xterm-256等),但都尝试过,差别不大

看起来不是这样的。。。当我将其复制到bash中并运行它时,我得到了“无法理解这些额外参数:从不”
——在tasty中,颜色从不是一个选项。您正在使用另一个测试框架吗?测试框架改为
--plain
。通常,您可以尝试向测试可执行文件询问
--help
。谢谢,
--plain
确实会删除着色。我确实试过了
--help
,但我没想到。我会接受这个答案,尽管这是我希望的下一个最好的答案……很有趣。不幸的是,这并不能解决我的问题,但谢谢分享:)