2017-08-25 14 views
0

テープ+タップビデオを見て、それを動作させようとしました。
OS:Windows 7の のGitのBashシェルstdoutはttyではありません。 node + tape + tap-specにbashを使用

node main.js | ./node_modules/.bin/tap-spec 

標準出力がttyではありません。

main.js:

var test = require('tape'); 
var add = require('./add'); 

test('add: two numbers add correctly', function(t) { 
var actual = add(1,2); 
var expected = 3; 
t.equal(actual, expected); 
t.end(); 
}); 

add.js:

module.exports = function(a, b) { 
return a + b; 
}; 

winptyノードmain.js | ./node_modules/.bin/tap-spec は問題を解決しません。

答えて

1

診断:(OS::ArchLinux)私はどこかで読んWindows 7 Git Bash Shell

と、おそらく問題

add: two numbers add correctly 

    ✔ should be equal 


    total:  1 
    passing: 1 
    duration: 14ms 

その

Theresのコードと間違って何も、私は次の出力を得ます:Git Bashでパイプを介して出力を送信すると、

使用
$ node -p -e "Boolean(process.stdout.isTTY)" 
false 

:(Windowsの場合)true


ソリューション:それはあなたが次の出力を必要とする動作させるために

node -p -e "Boolean(process.stdout.isTTY)" 

は、次のコマンドを実行破棄するにはwinpty tool、それは隠されたコンソールを作り、それとCygwin/GitBashshellとの間のI/Oをmarshalsします。pty:

$ winpty node -p -e "Boolean(process.stdout.isTTY)" 
true 

READ MORE : Node.js doesn't run as tty on windows/cygwin Issue#3006

+0

どのように私のオリジナルのポストと異なるwinptyコマンドを実行したのですか?それは私のために失敗しました。あなたが入力している正確なコマンドは何ですか?ありがとう – FreddyNoNose

+1

@FreddyNoNose、私は答えているように:winptyのコマンドはコンパイルされた[winptyツール](https://github.com/rprichard/winpty) – EMX

+1

@ FreddyNoNose:私はWindowsを使用しませんが、 Git Bash Shellで動作するようになる答えに従ってください – EMX

関連する問題