2016-02-19 8 views
6

Ich kann den Lite-Server 2.1.0 nicht mit Npm auf Ubuntu 14.04 starten. Ich versuche das Angular2 Quick Start-Beispiel auszuführen.Workaround oder Fix für NPM Lite-Server unter Linux Fehler beim Ausführen von Angular 2 Quick Start

Dieses Problem ist möglicherweise auf Linux zurückzuführen und tritt erst nach einem kürzlich erfolgten Update auf Ubuntu auf. Ich kann den Angular2 Quick Start erfolgreich unter Windows 8.1 ausführen. Ich habe verschiedene Versionen von NPM und Node ausprobiert, ohne dass sich meine Ergebnisse geändert haben. Das Ausführen des Angular Heroes-Beispiels schlägt ebenfalls mit demselben Problem fehl.

Jede Lösung oder vorübergehende Arbeit würde sehr geschätzt werden.

Nach dem erfolgreichen Typoskript Javascript transpiling, hier ist das Ergebnis des Versuchs lite-Server über npm zu starten:

npm run lite 

events.js:154 
     throw er; // Unhandled 'error' event 
    ^

Error: watch node_modules/insight/node_modules/lodash/internal/baseForOwnRight.js ENOSPC 
    at exports._errnoException (util.js:856:11) 
    at FSWatcher.start (fs.js:1313:19) 
    at Object.fs.watch (fs.js:1341:11) 
    at createFsWatchInstance (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:37:15) 
    at setFsWatchListener (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:80:15) 
    at FSWatcher.NodeFsHandler._watchWithNodeFs (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:228:14) 
    at FSWatcher.NodeFsHandler._handleFile (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:255:21) 
    at FSWatcher.<anonymous> (/tf/sbtf/ang2-reg/node_modules/chokidar/lib/nodefs-handler.js:473:21) 
    at FSReqWrap.oncomplete (fs.js:82:15) 

npm ERR! Linux 3.19.0-49-generic 
npm ERR! argv "/tf/node/bin/node" "/tf/node/bin/npm" "run" "lite" 
npm ERR! node v5.6.0 
npm ERR! npm v3.7.2 
npm ERR! code ELIFECYCLE 
npm ERR! [email protected] lite: `lite-server` 
npm ERR! Exit status 1 

Hier ist die package.json. Ich habe Lite-Server auf 2.1.0 aktualisiert, um zu sehen, ob das helfen würde, aber das tat es nicht.

{ 
    "name": "ang2-reg", 
    "version": "1.0.0", 
    "scripts": { 
    "postinstall": "npm run typings install", 
    "tsc": "tsc", 
    "tsc:w": "tsc -w", 
    "lite": "lite-server", 
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" ", 
    "typings" : "typings" 
    }, 
"license": "ISC", 
"dependencies": { 
    "angular2": "2.0.0-beta.6", 
    "bootstrap": "^3.3.6", 
    "systemjs": "0.19.20", 
    "es6-promise": "^3.0.2", 
    "es6-shim": "^0.33.3", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.0", 
    "systemjs": "0.19.17", 
    "zone.js": "0.5.14" 
    }, 
    "devDependencies": { 
    "concurrently": "^1.0.0", 
    "lite-server": "^2.1.0", 
    "typescript": "^1.8.0", 
    "typings":"^0.6.8" 
    } 
} 

Hier ist das Typoskript config:

{ 
    "compilerOptions": { 
    "target": "es5", 
    "module": "system", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false 
    }, 
    "exclude": [ 
    "node_modules", 
    "typings/main", 
    "typings/main.d.ts" 
    ] 
} 

Hier ist die Fehlermeldung Abschnitt von dem NPM-debug.log:

10 verbose lifecycle [email protected]~lite: CWD: /tf/sbtf/ang2-reg 
11 silly lifecycle [email protected]~lite: Args: [ '-c', 'lite-server' ] 
12 silly lifecycle [email protected]~lite: Returned: code: 1 signal: null 
13 info lifecycle [email protected]~lite: Failed to exec lite script 
14 verbose stack Error: [email protected] lite: `lite-server` 
14 verbose stack Exit status 1 
14 verbose stack  at EventEmitter.<anonymous> 
(/tf/node/lib/node_modules/npm/lib/utils/lifecycle.js:239:16) 
14 verbose stack  at emitTwo (events.js:100:13) 
14 verbose stack  at EventEmitter.emit (events.js:185:7) 
14 verbose stack  at ChildProcess.<anonymous> 
(/tf/node/lib/node_modules/npm/lib/utils/spawn.js:24:14) 
14 verbose stack  at emitTwo (events.js:100:13) 
14 verbose stack  at ChildProcess.emit (events.js:185:7) 
14 verbose stack  at maybeClose (internal/child_process.js:827:16) 
14 verbose stack  at Process.ChildProcess._handle.onexit 
(internal/child_process.js:211:5) 
15 verbose pkgid [email protected] 
16 verbose cwd /tf/sbtf/ang2-reg 
17 error Linux 3.19.0-49-generic 
18 error argv "/tf/node/bin/node" "/tf/node/bin/npm" "run" "lite" 
19 error node v5.6.0 
20 error npm v3.7.2 
21 error code ELIFECYCLE 
22 error [email protected] lite: `lite-server` 
22 error Exit status 1 
+0

Ich bin in der Lage Auto mit diesem Befehl zu übersetzen: npm run tsc: w –

+0

Dies wurde durch die gefürchtete ENOSPC Fehler verursacht. –

Antwort

10

hatte ich den gleichen Fehler und ich kann es in ubuntu mit den nächsten Schritten lösen:

Bearbeiten Sie die Datei /etc/sysctl.conf und fügen Sie die nächste Zeile:

fs.inotify.max_user_watches = 524288 

Speichern Sie die Datei und Typ:

sudo sysctl -p 

Und versuchen Sie es erneut ausführen npm Start. :)

+0

Danke Andres! Funktioniert gut auf meiner Linux-Mint-Installation ... –

+0

Funktioniert auch für mich. Vielen Dank! Ich bin neugierig, warum hat das das Problem gelöst? –

+0

Das hat auch für mich funktioniert. Tatsächlich funktionierte es sogar, als ich 32K statt 512K spezifizierte. Der Effekt der Verwendung von 512 K ist jedoch nur Speicher. Die Nummer scheint auf diesem Link zu basieren: https://github.com/guard/listen/wiki/Increasing-the-amount-of-inotify-watchers Es gibt wahrscheinlich nichts Magisches an der Nummer selbst. –

1

Wenn Sie die Idee zu suchen eine Abhilfe ist, Verwenden Sie die Version 4.x von NodeJS.

entfernen NodeJS 5.x

sudo apt-get remove nodejs 

Bearbeiten der Liste Quellen Knoten 4.x im Repo

sudo nano /etc/apt/sources.list.d/nodesource.list 

Dann in der Datei bearbeiten, damit beide zwei Linien:

deb https://deb.nodesource.com/node_5.x vivid main 
deb-src https://deb.nodesource.com/node_5.x vivid main 

zu

deb https://deb.nodesource.com/node_4.x vivid main 
deb-src https://deb.nodesource.com/node_4.x vivid main 

Aktualisieren Sie die repos wieder

sudo apt-get update 

und installieren Knoten

sudo apt-get install -y nodejs 

die versionm prüfen, die so etwas wie V4.3.1 oder v4.xx

node -v 

Jetzt können Sie laufen wrtite sollten der Winkel-Schnellstart mit:

npm start 

Ich hoffe, es ist nützlich.

EDIT: Nach der Installation der Version 4.x von NodeJS

In dem Ordner, wo Sie Ihre App:

$ rm -r node_modules 

Und dann

npm install 

Sieht dumm, aber wenn man npm Installation ausgeführt hat es bestimmte Module zu kompilieren, und vielleicht (Ich weiß es nicht) Die Art der Kompilierung ändert sich mit den NodeJS-Versionen.

+0

Leider hat das nicht funktioniert. Ich hatte das vorher probiert, habe es aber nochmal versucht, um zu sehen, ob ich etwas verpasst habe. Gleiche Probleme, leicht abweichende Zeilennummern vom "Stack-Trace". –

+0

Scheint offensichtlich, aber haben Sie nach der Installation von NodeJS v4.x versucht, den Ordner node_modules zu entfernen und die Module erneut zu installieren? – PablitoAM

Verwandte Themen