2013-09-28 45 views
7

我开始阅读“开发AngularJS Edge”,并且我想设置各种使用的框架。在“karma init”上获取“line.slice()”的错误

本书使用nodejs和karma以及其他几个框架。

我在Win7x32上。

我刚刚将我的nodejs升级到最新的v0.10.18。

我使用“npm install -g karma”安装了Karma软件包。这似乎成功完成。

我然后跑“报应初始化”,它这样做:

% karma init 
> 
readline.js:507 
    this.line = this.line.slice(this.cursor); 
         ^
TypeError: Cannot call method 'slice' of undefined 
    at Interface._deleteLineLeft (readline.js:507:25) 
    at suggestNextOption (C:\Users\David\AppData\Roaming\npm\node_modules\karma\lib\init.js:167:9) 
    at nextQuestion (C:\Users\David\AppData\Roaming\npm\node_modules\karma\lib\init.js:235:12) 
    at process (C:\Users\David\AppData\Roaming\npm\node_modules\karma\lib\init.js:250:10) 
    at Object.exports.init (C:\Users\David\AppData\Roaming\npm\node_modules\karma\lib\init.js:352:6) 
    at Object.<anonymous> (C:\Users\David\AppData\Roaming\npm\node_modules\karma\bin\karma:25:37) 
    at Module._compile (module.js:456:26) 
    at Object.Module._extensions..js (module.js:474:10) 
    at Module.load (module.js:356:32) 
    at Function.Module._load (module.js:312:12) 

注意,这个错误几乎是相同的this person报道一个月前的堆栈跟踪,但报告没有收到任何答复。

+0

无法在Windows 7旗舰版(包括32位和64位)上使用节点0.10.18,karma 0.10.2进行重现 – SheetJS

+0

是否有任何额外的诊断可以提供更多有意义的信息? –

+0

您是否使用nodejs.org中的软件包进行安装? – SheetJS

回答

0

另外一个我没有提到的相关点是我从Cygwin rxvt窗口运行这些命令。

我只是试着完全卸载nodejs并重新安装它。

当我再次带起的rxvt窗口跑“故宫安装-g报应”,它失败,出现以下:

/c/Program Files/nodejs/npm: line 2: $'\r': command not found 
/c/Program Files/nodejs/npm: line 4: $'\r': command not found 
/c/Program Files/nodejs/npm: line 5: syntax error near unexpected token `$'in\r'' 
'c/Program Files/nodejs/npm: line 5: `case `uname` in 

,导致我搜索网络上的错误,我发现这暗示着它不支持Cygwin(不幸,但不是一个大问题)。

当我提出一个简单的,丑陋的,不友好的“cmd”窗口时,karma安装和“karma init”成功完成(或者至少它在“init”过程中给了我第一个问题)。

1

我MINGW64得到了同样的错误。

在默认命令提示符下正常运行。

0

在我的情况下,问题是我在Windows中使用git bash终端。当我在cmd窗口中运行命令时,它工作正常。

5

也许你使用的是Git Bash终端MinTTY,它没有完全支持TTY。

你有4个选项来解决这个问题:

  1. Windows外壳(默认的Windows控制台)使用CMD终端
  2. 使用CMD终端与Bash shell中(在执行"C:\Program Files\Git\bin\bash.exe" --login -i cmd终端)
  3. 使用Powershell(通常在Windows环境下默认安装的替代终端)
  4. 使用替代te rminal(或开发一个新问题:stuck_out_tongue_winking_eye:)

如果你只需要执行像karma init孤立的交互式命令,我建议选项1是,然后回来的Git猛砸。不过,我会尝试Powershell。

+1

我做了选项1.谢谢 – LapelCard

0

在github shell命令窗口中运行命令。为我工作。