ruby 如何在Windows gitbash中使用bundle exec rake test获取颜色

a0x5cqrl  于 2023-04-05  发布在  Ruby
关注(0)|答案(1)|浏览(106)

我正在学习Rails教程。我在第3.7.1节,当运行bundle exec rake test时,我试图在gitbash命令提示符中获得颜色。我已经尝试安装ansi,win32console gem和名为turn的gem,似乎没有任何工作。
在运行bundle exec rake test时,是否可能获得红色和绿色?

xu3bshqb

xu3bshqb1#

你肯定可以得到彩色输出。但不是使用标准的Windows cmd.exe或powershell。Gems不会有帮助。你需要添加 * 正确解释ANSI转义码 * 的能力到你的系统中-这是cmd和powershell无法做到的。(ANSI.sys是DOS下处理ANSI转义码的方式。cmd和powershell不使用它。)
您需要(1)安装ANSICON和/或(2)安装并使用不同的控制台/控制台模拟器或处理颜色(ANSI转义码)的shell。
(1)ANSICON是一个用于Windows的程序,它解释ANSI转义码,以便显示颜色。它可以在cmd或powershell之上运行。您可以设置它,以便每当您使用cmd或powershell时总是使用它。或者只在特定的时间使用它。大多数人安装了它,并且对它非常满意。Jason Karns wrote a blog post关于安装和使用ANSICON for git bash(在Windows上)人们发现有帮助。
(2)下面是一些常用的cmd/powershell替代品。这些是控制台模拟器和工具以及shell替代品:

  • ConEmu -(“ConEmu-Maximus 5”)这是一个控制台模拟器,不是shell。您可以将其与任何shell一起使用(cmd,powershell,cygwin,bash等)。但是在日常使用中,一旦你设置好它,你就可以像使用cmd.exe或powershell一样使用它,等等 (我使用这个,所以比其他选择更了解它。我有配置,可以根据需要使用不同的git/ruby版本/rails版本配置启动它。我不知道。)我不使用ANSICON,因为每当我需要打开控制台时,我都会使用ConEmu。)
  • Console 2-像ConEmu一样,这是一个控制台模拟器,它在cmd.exe之上添加了功能(包括显示ANSI颜色)。您可以将其与现有的shell(例如powershell等)一起使用。
  • Console Z-Console 2的一个分支,目前正在维护中。我还没有使用过它,但这里有一些关于如何配置Console Z以使用git bash的信息。
  • 你也可以(或者不用)使用类Unix的shell(或者套件):
  • Cygwin是在Windows中运行的最知名的类Unix命令套件。附带可以使用的shell(例如MinTTY),并将与ANSI代码一起工作
  • Babun位于cygwin安装之上的windows shell。可配置;你可以创建配置(例如git bash或rvm或其他)并将其作为插件共享。(使用mitty控制台)
  • MinGW-一个“Minimalist GNU for Windows”,它有一个用于Windows的GNU工具集,专注于开发所需的工具。(IOW,它比Cygwin提供的工具集更小,略有不同。)DevKit,用于将ruby gem编译成原生Windows代码,使用MinGW。
  • MinSYS-“Minimal SYStem”的缩写,是一个Bourne Shell命令行解释器系统。作为Microsoft cmd.exe的替代品提供,它提供了一个通用的命令行环境,特别适合与MinGW一起使用,用于将许多开源应用程序移植到MS-Windows平台;它是Cygwin-1.3的一个轻量级分支,它包括一小部分Unix工具,选择这些工具来实现这一目标。

一些搜索可能会出现额外的选项。这些是最常谈论和使用的选项(基于与其他人的交谈IRL,StackOverflow,以及现在和以前的搜索)。
安装并设置其中一个选项(不会花很长时间),然后你就可以看到RSpec或git或其他什么使用的有用颜色了。

相关问题