2013-09-28 3 views
7

Ich begann zu lesen "Entwicklung eines AngularJS Edge", und ich wollte die verschiedenen Frameworks im Einsatz einrichten.Get Fehler mit "line.slice()" auf "Karma-Init"

Das Buch verwendet nodejs und Karma, zusammen mit einigen anderen Frameworks.

Ich bin auf Win7x32.

Ich habe gerade meine nodejs auf den neuesten, v0.10.18 aktualisiert.

Ich habe das Karma-Paket mit "npm install -g karma" installiert. Dies schien erfolgreich abgeschlossen zu sein.

Ich lief dann „Karma init“, die dies taten:

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

Beachten Sie, dass dieser Fehler auf den Stack-Trace von this person vor einem Monat berichtet praktisch identisch ist, aber dieser Bericht keine Antwort erhalten hat.

+0

Kann nicht mit Knoten 0.10.18, Karma 0.10.2 unter Windows 7 Ultimate (32 und 64 Bit) reproduziert werden. – SheetJS

+0

Gibt es zusätzliche Diagnosefunktionen, die aussagekräftigere Informationen liefern können? –

+0

Haben Sie das Paket von nodejs.org installiert? – SheetJS

Antwort

2

Der Grund für den Fehler mit dem Ausführen von Npm in Cygwin scheint ein bekanntes Problem mit Npm zu sein. Sie können die Arbeit hier erwähnt verwenden,

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

+0

Ja, ich habe diese Frage vergessen. Ich habe diese Problemumgehung schon vor einiger Zeit entdeckt. –

0

Ein anderer wahrscheinlicher relevanter Punkt, den ich nicht erwähnt habe, ist, dass ich diese Befehle von einem Cygwin rxvt-Fenster aus ausgeführt habe.

Ich habe gerade versucht, Nodejs vollständig zu deinstallieren und neu zu installieren.

Wenn ich das rxvt Fenster wieder gebracht und lief „npm -g Karma installieren“, konnte es mit den folgenden:

/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 

, die mich auf dem Netz für diesen Fehler zu suchen, und ich fand dies thread, was bedeutet, dass es Cygwin einfach nicht unterstützt (unglücklicherweise, aber kein großes Problem).

Als ich dann ein schlichtes, hässliches, unfreundliches "cmd" Fenster erledigte, wurden sowohl die Karma Installation als auch "Karma Init" erfolgreich beendet (oder zumindest gab es mir die erste Frage im "init" Prozess).

1

Ich habe den gleichen Fehler mit MINGW64.

Wird ordnungsgemäß in der Standardeingabeaufforderung ausgeführt.

0

In meinem Fall war das Problem, dass ich das git Bash-Terminal in Windows verwendete. Als ich den Befehl in einem cmd-Fenster ausführte, funktionierte es einwandfrei.

5

Wahrscheinlich verwenden Sie das Git Bash Terminal, MinTTY, das TTY nicht vollständig unterstützt.

Sie haben 4 Möglichkeiten, das Problem zu beheben:

  1. Verwendung CMD-Terminal mit der Windows-Shell (der Standard-Windows-Konsole)
  2. Verwenden CMD-Terminal mit dem Bash-Shell (execute "C:\Program Files\Git\bin\bash.exe" --login -i in cmd-Terminal)
  3. Verwenden Sie Powershell (ein alternatives Terminal, das normalerweise in Windows-Umgebungen standardmäßig installiert ist)
  4. Verwenden Sie eine alternative te rminal (oder entwickeln eine neue: stuck_out_tongue_winking_eye:)

Wenn Sie karma init isoliert interaktive Befehle nur ausführen müssen, empfehle ich für sie Option 1 und dann zu Git Bash kommen. Allerdings würde ich PowerShell versuchen.

+1

Ich habe Option 1 getan. Danke – LapelCard

0

Führen Sie den Befehl im Befehlsfenster von github shell aus. Arbeitete für mich.