7

我开始阅读“开发 AngularJS Edge”,我想设置各种正在使用的框架。

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

我在Win7x32上。

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

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

然后我运行了“karma init”,它这样做了:

    % 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)

请注意,此错误实际上与此人一个月前报告的堆栈跟踪相同,但该报告未收到任何响应。

4

8 回答 8

7

可能您正在使用 Git Bash 终端 MinTTY,它不完全支持 TTY。

您有 4 个选项来解决问题:

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

如果您只需要执行孤立的交互式命令,例如karma init,我推荐选项 1,然后返回到 Git Bash。但是我会尝试使用 Powershell。

于 2016-09-07T13:13:37.150 回答
2

在 Cygwin 中运行 npm 出错的原因似乎是 npm 的一个已知问题。您可以使用此处提到的解决方法,

https://stackoverflow.com/a/22436199/2390020

于 2014-03-21T00:29:52.333 回答
2

面临同样的问题。试试这个

节点 node_modules/karma/bin/karma init

于 2018-05-10T20:25:17.990 回答
1

我在 MINGW64 上遇到了同样的错误。

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

于 2016-02-12T10:29:51.253 回答
0

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

我刚刚尝试完全卸载 nodejs 并重新安装它。

当我再次打开 rxvt 窗口并运行“npm install -g karma”时,它失败并显示以下内容:

/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”窗口时,业力安装和“业力初始化”都成功完成(或者至少它给了我“初始化”过程中的第一个问题)。

于 2013-09-28T21:13:06.740 回答
0

就我而言,问题是我在 Windows 中使用 git bash 终端。当我在 cmd 窗口中运行该命令时,它运行良好。

于 2016-08-09T15:46:17.527 回答
0

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

于 2017-04-08T13:28:34.397 回答
0

如果您打开karma文件,它只是一个节点脚本,因此执行它的另一种方法是:

node karma init

这在 MINGW64/git bash shell 中对我有用

于 2018-04-10T14:44:53.470 回答