正在看一盘磁带+踢踏舞视频,并试图让它工作。
操作系统:Windows 7 Git
node main.js | ./node_modules/.bin/tap-spec
stdout不是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无法解决此问题。
6条答案
按热度按时间cnwbcb6i1#
补充一下我的案例,我也遇到过类似的问题。使用winpty的两种解决方案都没有帮助,因此我在运行脚本时使用了不同的提示,使用
node.exe
而不是node
(在我的案例中来自Git bash)。不工作:
工作时间:
7dl7o3gd2#
诊断:
代码没有任何错误,我得到了以下输出:(操作系统:Linux)
可能是
Windows 7 Git Bash Shell
的问题我在哪里读到过:通过管道发送输出被Git Bash中断
要放弃它,请运行以下命令:
要使其工作,您需要以下输出:
true
解决方案(适用于Windows):
使用winpty tool,它创建了一个隐藏的控制台,并在它和Cygwin/GitBashshell模拟的pty:
READ MORE : Node.js doesn't run as tty on windows / cygwin Issue#3006
rryofs0p3#
我在控制台上遇到了同样的问题“stdout不是tty”
这是因为控制台,在安装Git时有一个选项是选择默认终端。再次安装Git并选择终端作为Windows控制台,之后就可以了。
7dl7o3gd4#
节点generateData.js〉db.json在Visual Studio代码的终端上运行:猛击
juud5qan5#
如果您在Windows中使用GitBash
在./bash_profile文件中,必须添加以下内容:
kyks70gy6#
只需先从
git bash
切换到cmd