Включить вывод цветов для cmd

Я не мог раскрасить мои утверждения casperjs на моем cmd.exe (Windows 7, x64). Я следовал за Ансиконом.

Если я правильно понял, утверждения окрашиваются автоматически, если ansicon установлен casperjs

Пользователи Windows получат цветной вывод, если установлен ansicon.

Есть идеи?

ОБНОВИТЬ

var casper = require('casper').create(),
    utils = require('utils'),
    http = require('http'),
    fs = require('fs'),
    colorizer = require('colorizer').create('Colorizer');

var xpath = require('casper').selectXPath;

casper.start('http://google.com/').then(function(response) {
    casper.echo('This is supposed to be green', 'INFO');
});

casper.run();

CMD:

C:\Users\itsme\Desktop>casperjs test test.js
Test file: test.js
This is supposed to be green

C:\Users\itsme\Desktop>casperjs test test.js

2 ответа

Решение

Ответ здесь: вывод на консоль ANSI-Coloring с.NET

Бинарный пакет CasperJS поставляется с предварительно скомпилированным casperjs.exe который нацелен на платформу x86. К сожалению, это имеет эффект, который вы упомянули в 64-разрядных версиях ansicon.

Решения:

  1. Используйте версию x86 ansicon.exe
  2. Рекомпилированные casperjs.exe для платформы x64, которая быстра и безболезненна:

    C:\>cd casperjs\src
    C:\casperjs\src>C:\Windows\Microsoft.NET\Framework64\v4.0.30319\csc.exe /platform:x64 casperjs.cs
    

Скопируйте полученный.exe-файл в bin каталог и все готово.

Я думаю, что ваша проблема в том, что casperjs проверяет, является ли переменная окружения ANSICON установлен в Windows, и если он не установлен, он не пытается окрасить вывод. К сожалению, когда вы устанавливаете ansicon так, как вы это делали, он не устанавливает эту переменную в среде обычным способом. Вместо этого он использует грубый хак, чтобы установить его в среде начального cmd.exe процесс окна, но только если что то cmd Процесс пытается получить свое значение. Так как ничто обычно не использует ANSICON переменная окружения это означает, что она обычно не будет видна другим процессам (например, casperjs) запустить в этом окне.

Если это проблема, то все, что вам нужно сделать, это установить ANSICON переменная перед запуском casperjs:

set ANSICON=%ANSICON%

Вы также можете сделать это постоянной частью окружающей среды, используя setx ANSICON=foo,

Другие вопросы по тегам