7

「AngularJS Edge の開発」を読み始めて、使用中のさまざまなフレームワークをセットアップしたいと思いました。

この本では、他のいくつかのフレームワークとともに、nodejs とカルマを使用しています。

私は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)

このエラーは、この人物が 1 か月前に報告したスタック トレースとほぼ同じですが、その報告には応答がありません。

4

8 に答える 8

7

おそらく、TTY を完全にサポートしていない Git Bash ターミナル MinTTY を使用しているのでしょう。

問題を解決するには、次の 4 つのオプションがあります。

  1. Windows シェル(デフォルトの Windows コンソール)で CMD ターミナルを使用する
  2. Bash シェルで CMD ターミナルを使用する( "C:\Program Files\Git\bin\bash.exe" --login -icmd ターミナルで実行)
  3. Powershell を使用します (通常、Windows 環境にデフォルトでインストールされる代替ターミナル)
  4. 別の端末を使用する (または新しい端末を開発する :stuck_out_tongue_winking_eye: )

のような分離された対話型コマンドを実行する必要がある場合は、オプション 1karma initをお勧めします。その後、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 に答える
0

私の場合、問題は、Windows で git bash ターミナルを使用していたことです。コマンドウィンドウでコマンドを実行すると、正常に機能しました。

于 2016-08-09T15:46:17.527 に答える
0

ファイルを開くと、karmaそれは単なるノード スクリプトなので、実行する別の方法は次のようになります。

node karma init

これはMINGW64 / git bashシェルでうまくいきました

于 2018-04-10T14:44:53.470 に答える
0

私が言及しなかったもう 1 つの重要なポイントは、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 に答える