Angular2 QuickStart npm start funktioniert nicht richtig

105

Dateistruktur

Ich weiß, dass Angular2 Beta gerade veröffentlicht wurde, aber ich kann die Schritte aus dem offiziellen Tutorial der Website ( https://angular.io/guide/quickstart ) nicht reproduzieren . Vielleicht hatte jemand ähnliche Probleme und weiß, was zu tun ist, um dies zu beheben? Wenn ich versuche, die Anwendung mit dem npm startBefehl zu starten, erhalte ich folgende Ausgabe:

0 info it worked if it ends with ok
1 verbose cli [ 'node', '/usr/local/bin/npm', 'start' ]
2 info using npm@2.7.4
3 info using node@v0.12.2
4 verbose run-script [ 'prestart', 'start', 'poststart' ]
5 info prestart angular2-quickstart@1.0.0
6 info start angular2-quickstart@1.0.0
7 verbose unsafe-perm in lifecycle true
8 info angular2-quickstart@1.0.0 Failed to exec start script
9 verbose stack Error: angular2-quickstart@1.0.0 start: `concurrent "npm run tsc:w" "npm run lite" `
9 verbose stack Exit status 127
9 verbose stack     at EventEmitter.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/lifecycle.js:213:16)
9 verbose stack     at EventEmitter.emit (events.js:110:17)
9 verbose stack     at ChildProcess.<anonymous> (/usr/local/lib/node_modules/npm/lib/utils/spawn.js:14:12)
9 verbose stack     at ChildProcess.emit (events.js:110:17)
9 verbose stack     at maybeClose (child_process.js:1015:16)
9 verbose stack     at Process.ChildProcess._handle.onexit (child_process.js:1087:5)
10 verbose pkgid angular2-quickstart@1.0.0
11 verbose cwd /Users/tmrovsky/Documents/angular2/angular2-quickstart
12 error Darwin 13.4.0
13 error argv "node" "/usr/local/bin/npm" "start"
14 error node v0.12.2
15 error npm  v2.7.4
16 error code ELIFECYCLE
17 error angular2-quickstart@1.0.0 start: `concurrent "npm run tsc:w" "npm run lite" `
17 error Exit status 127
18 error Failed at the angular2-quickstart@1.0.0 start script 'concurrent "npm run tsc:w" "npm run lite" '.
18 error This is most likely a problem with the angular2-quickstart package,
18 error not with npm itself.
18 error Tell the author that this fails on your system:
18 error     concurrent "npm run tsc:w" "npm run lite"
18 error You can get their info via:
18 error     npm owner ls angular2-quickstart
18 error There is likely additional logging output above.
19 verbose exit [ 1, true ]

Ich hatte: Typoskript 1.7.5 Version Node 0.12.2 Version

Vielleicht könnte jemand helfen, das Problem zu lösen :)?

package.json:

{
  "name": "angular2-quickstart",
  "version": "1.0.0",
  "scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "license": "ISC",
  "dependencies": {
    "angular2": "2.0.0-beta.0",
    "systemjs": "0.19.6",
    "es6-promise": "^3.0.2",
    "es6-shim": "^0.33.3",
    "reflect-metadata": "0.1.2",
    "rxjs": "5.0.0-beta.0",
    "zone.js": "0.5.10"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^1.3.1",
    "typescript": "^1.7.3"
  }
}

index.html:

<html>

<head>
    <title>Angular 2 QuickStart</title>

    <!-- 1. Load libraries -->
    <script src="node_modules/es6-shim/es6-shim.js"></script>
    <script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>
    <script src="node_modules/rxjs/bundles/Rx.js"></script>
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script>

    <!-- 2. Configure SystemJS -->
    <script>
        System.config({
            packages: {
                app: {
                    format: 'register',
                    defaultExtension: 'js'
                }
            }
        });
        System.import('app/boot')
                .then(null, console.error.bind(console));
    </script>

</head>

<!-- 3. Display the application -->
<body>
<my-app>Loading...</my-app>
</body>

</html>

app.components.ts:

import {Component} from 'angular2/core';

@Component({
    selector: 'my-app',
    template: '<h1>My First Angular 2 App</h1>',
})

export class AppComponent {}

boot.js:

import {bootstrap} from 'angular2/platform/browser'
import  {AppComponent} from './app.component'

bootstrap(AppComponent);
Tomasz Ciunel
quelle
Könnten Sie Ihren Beitrag bitte mit Ihren Dateien bearbeiten?
Romain
Wie ist Ihre Ordnerstruktur? ist die index.html in app/oder außerhalb davon?
the_critic
Zunächst muss Ihre Datei boot.js eine TypeScript-Datei sein, die in boot.ts umbenannt wird . Ich sehe nichts anderes, was falsch zu sein scheint ... Wie the_critic sagte, könnten Sie uns Ihre Projektstruktur geben.
Romain
Es ist boot.ts. Ich habe hier versehentlich 'js' auf stackoverflow eingegeben - sorry. Der Index-HTML-Code befindet sich im Stammverzeichnis, z. B. package.json. Es befindet sich nicht in der App / im Verzeichnis.
Tomasz Ciunel
2
Stellen Sie sicher, dass Ihre Knotenversion >=4.2.1 <5und Ihre npm-Version den Angaben>=2.14.7 <3.0 im DEVELOPER-Handbuch entsprechen . Ich denke, Sie können es mit Knoten 5 zum Laufen bringen, aber ich weiß nicht, wie.
Eric Martinez

Antworten:

224

Ändern Sie das startFeld in package.json von

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" "

zu

"start": "concurrently \"npm run tsc:w\" \"npm run lite\" "
user60108
quelle
2
Warum hat er tsc zweimal ausgeführt ( tscund tsc -w)?
Smartmouse
9
Es funktionierte! Aber wieso? Begann in ng2 entmutigt zu werden.
Maxim
9
Dies erklärt der Kurs "Play by Play Winkel 2 Schnellstart" auf Pluralsight Ward Bell. "tsc" kompiliert zuerst den Code, da es ohne das in größeren Projekten möglich ist, dass der Server startet, bevor die Kompilierung beendet ist. In diesem Fall würde der Server einen Fehler auslösen, der darauf hinweist, dass er nicht weiß, was zu tun ist.
Starceaker
1
Im Jahr 2017 hat Ihre Problemumgehung in Ihrer Antwort das eigentliche Problem aufgedeckt: Es gab Kompilierungsfehler im Typoskript im App-Code. Als ich die Kompilierungsfehler behoben habe, funktionierte die Originalversion ohne Ihre Problemumgehung einwandfrei.
CodeMed
1
Ausgezeichnet ... "start": "gleichzeitig" npm run tsc: w "" npm run lite "hat bei mir funktioniert ...
DILIP KOSURI
86

Um npm startfür mich zum Laufen zu kommen , musste ich sicherstellen, dass ich einige der devDependencies global installiert hatte. Hast du es versucht:

  • npm install -g concurrently
  • npm install -g lite-server
  • npm install -g typescript
Derek Lawless
quelle
Aber ich denke, es lite-serverist optional, dass Sie auch andere Dienste nutzen können
Pardeep Jain
11
Hat für mich gearbeitet. sudo npm update -g && sudo npm install -g concurrently lite-server typescript.
Sam Finnigan
6
Vergessen Sie nicht, die lokale Version zu deinstallieren:npm uninstall lite-server
Aurelien
1
Ich hatte das gleiche Problem beim Starten des Webservers mit angular2-seed vom Udemy-Kurs. Dies hat mein Problem behoben.
Dance2die
Ja! Die globale Installation des Lite-Servers und die Deinstallation des lokalen Pakets haben bei Vagrant endlich funktioniert! Vielen Dank!
Yahya Uddin
48

Zuerst müssen Sie npm, lite-server und Typoskript aktualisieren:

sudo npm update -g && sudo npm install -g concurrently lite-server typescript

Löschen Sie den Ordner node_modules aus Ihrem Angular-Projektverzeichnis (falls vorhanden). Nächster Lauf:

npm install

Beheben Sie danach ENOSPC-Fehler:

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Schließlich:

npm start

Dies ist meine package.json-Datei:

{
  "name": "reservationsystem",
  "version": "0.0.1",
  "scripts": {
    "tsc": "tsc",
    "tsc:w": "tsc -w",
    "lite": "lite-server",
    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "dependencies": {
    "a2-in-memory-web-api": "~0.1.0",
    "angular2": "2.0.0-beta.3",
    "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.11"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^2.0.1",
    "typescript": "^1.7.5"
  }
}

Tomek Miszczyk
quelle
3
Ich habe upvoted, weil dies mein Problem behoben hat. Ich würde jedoch gerne verstehen, wie das Hinzufügen von fs.inotify.max_user_watches zu / etc / sysctl das Problem behoben hat.
Joshua Wilson
Es scheint, dass der Beobachter mehr Speicher benötigt und dies bietet dies.
Joshua Wilson
Ich fand es schien besser zu funktionieren, wenn ich die Module zuerst lösche - rm -r node_modules/. Wie auch immer, wie der Mann sagt, es hat mich in Schwung gebracht; Ich bin beeindruckt, dass fs.inotify.max_user_watches=524288mir das übertrieben erscheint. Gibt es eine verbesserte geistige Gesundheit im Wind?
wird
Es ist erwähnenswert, dass der Javascript- Schnellstart sofort ausgelöst wird. KEINE großen Extras. Und wenn der Server die Webseite stoppt stays on screen. Die Typoskript-Version verschwindet nur mit einer Rauchwolke von
wird am
das hat mich gerettet, danke. echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
chintan adatiya
15

Ich hatte den gleichen Fehler unter Windows 10. Es sieht so aus, als ob es ein Problem mit dem gleichzeitigen npm-Paket gibt. Ich habe 2 Möglichkeiten gefunden, um diesen Fehler zu beheben:

  • 1. Führen Sie beide Befehle in 2 separaten cmds aus:

    • im ersten Lauf: npm run tsc:w
    • im zweiten: npm run lite
  • 2. Ändern package.json

    • Ändern Sie einfach die Startoption wie folgt: "start": "tsc && npm run tsc:w | npm run lite",
dontHaveName
quelle
2
Nur um es zu beachten. Unter Linux:"start": "tsc && npm run tsc:w & npm run lite",
ACV
Nun, es wird für mich automatisch neu kompiliert.
dontHaveName
Ich bezog mich auf meinen ersten Kommentar :) Unter Linux wird es nicht funktionieren
ACV
Nur diese Lösung hat bei mir funktioniert. Zuerst versucht (beide Befehle in 2 separaten cmds ausführen). Dann wurde der Prozess in beiden cmds gestoppt. Wenden Sie zum Schluss die zweite an (change package.json) und führen Sie "npm start" in einem cmd aus. Wenn ich eine Datei ändere, wird localhost: 3000 automatisch aktualisiert und zeigt meine Änderungen an. Vielen Dank!
Andrew F.
13

So habe ich das Problem heute gelöst, nachdem ich stundenlang all diese verschiedenen Lösungen ausprobiert hatte - (für alle, die noch einen anderen Weg suchen).

Öffnen Sie 2 Instanzen von cmd in Ihrem Schnellstartverzeichnis:

Fenster 1:

npm run build:watch

dann...

Fenster 2:

npm run serve

Es wird dann im Browser geöffnet und funktioniert wie erwartet

DeclanPossnett
quelle
9

Ich hatte ein ähnliches Problem, nachdem ich den Ordner angle2-quickstart (einschließlich node_modules) kopiert hatte, um den Ordner angular2-tour-of-hero zu erstellen. Dies war seltsam, weil das Original gut kompiliert wurde, aber die Kopie nicht ...

npm run tsc

Ich konnte das Problem beheben, indem ich den Ordner node_modules löschte und npm install erneut ausführte .

Das war eine Überraschung für mich, also habe ich einen Unterschied zwischen den beiden Ordnern gemacht ...

diff -rw angular2-quickstart/node_modules/ angular2-tour-of-heroes/node_modules/

Es gab viele Unterschiede, viele 'wo' Unterschiede in den package.json-Dateien wie folgt: -

diff -rw angular2-quickstart/node_modules/yargs/package.json angular2-tour-of-heroes/node_modules/yargs/package.json
5c5
<       "/Users/michael/Tutorials/angular2/angular2-quickstart/node_modules/lite-server"
---
>       "/Users/michael/Tutorials/angular2/angular2-tour-of-heroes/node_modules/lite-server"

... welche Art von Sinn macht, aber es gab auch einige davon: -

diff -rw angular2-quickstart/node_modules/utf-8-validate/build/gyp-mac-tool angular2-tour-of-heroes/node_modules/utf-8-validate/build/gyp-mac-tool
607c607,608
<       return {k: self._ExpandVariables(data[k], substitutions) for k in data}
---
>       return dict((k, self._ExpandVariables(data[k],
>                                             substitutions)) for k in data)

... was ich überhaupt nicht verstehe.

Na ja, hoffe das hilft.

Michael Dausmann
quelle
5

Ändern Sie das Startfeld in package.json von:

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" "

Zu:

"start": "concurrently \"npm run tsc:w\" \"npm run lite\" "

Es hat wirklich geholfen.

Joseph
quelle
5

Diese Antwort bezieht sich auf den hervorragenden Pluralsight-Kurs "Angular 2 Fundamentals" von Jim Cooper.

Wenn Sie wie ich Probleme haben, den Befehl npm start auf einem Windows 10-Computer auszuführen, empfehle ich Folgendes:

Starten Sie git bash als Administrator (befolgen Sie die Schritte im Video). Navigieren Sie zum Projektverzeichnis ( ng2-fundamentals ) und geben Sie die folgenden Befehle ein:

npm config get registry

npm cache clean

npm install

Nach Abschluss der Installation müssen Sie die Datei get-shell.js im spawn-default-shell-Modul im Ordner node_modules wie folgt ändern:

Ändern Sie Folgendes:

const DETECT_SH_REGEX = /sh$/;

dazu:

const DETECT_SH_REGEX = /sh/;

Beachten Sie das $, das am Ende des sh-Strings entfernt wurde (Gutschrift an den ursprünglichen Autor dieses Fixes, alfian777, der die Lösung auf github gepostet hat )

Speichern Sie die Datei, gehen Sie zu Ihrer Git-Bash-Konsole und geben Sie npm start ein

Sie sollten jetzt keine Fehler sehen und die localhost-Seite wird in Ihrem Standardbrowser gestartet (alternativ öffnen Sie Ihren Browser und navigieren Sie zu http: // localhost: 8808 / ).

Tahir Khalid
quelle
3

Keine dieser Antworten half bei Ubuntu . Schließlich stieß ich auf eine Lösung von John Papa (Autor des Lite-Servers).

Unter Ubuntu 15.10 wurde der Angular 2-Schnellstart zum Leben erweckt, nachdem er am Terminal ausgeführt wurde:

echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

Anscheinend erhöht es die Anzahl der verfügbaren File Watches.

Antwortquelle: https://github.com/johnpapa/lite-server/issues/9

Paul Lockwood
quelle
3

Ich bin auf dasselbe Problem gestoßen. Keine der oben genannten Antworten war jedoch eine richtige Lösung für mich. Es stellte sich heraus, dass es mehr an meiner Entwicklungsumgebung lag als an einer der Versionen der Dinge.

Da ich Visual Studio Code verwendet habe, habe ich in VSC eine Build-Task eingerichtet, um TypeScript als Watcher zu kompilieren. Das war das Problem. VSC hatte bereits eine NPM-Aufgabe für TSC gestartet. Bei der Ausführung des Startskripts des Lernprogramms traten Probleme mit der Tatsache auf, dass VSC noch ausgeführt wurde tsc -w.

Ich habe die Aufgabe in VSC gestoppt und das 'Start'-Skript erneut ausgeführt, und es hat einwandfrei funktioniert.

Lösung A: Stop und npm Start

  • VSC-Befehl> Aufgaben: Beenden Sie laufende Aufgaben
  • Terminal $ npm start

Danach ändere ich das Startskript, um alles zusammenzubringen, damit nur der Server gestartet und TSC nicht gestartet wird.

Lösung B: Ändern Sie das npm-Startskript

  • Ersetzen

    "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "

  • mit

    "start": "npm run lite"

Lösung C: Führen Sie einfach den Befehl lite server aus

`npm run lite`
Itanex
quelle
3

Ich habe mein Problem mit dem Schnellstartprogramm gelöst, indem ich dem folgenden Link gefolgt bin.

Angular 2 QuickStart Live-Server-Fehler

Ändern Sie die Package.jsonSkripteinstellungen

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\",

zu:

"start": "concurrently \"npm run tsc:w\" \"npm run lite\" ",
Saliya Wicky
quelle
2

Diese Antwort gilt nur für Windows 10-Benutzer. Wie Sie unten sehen werden, tritt das Problem vermutlich nur für diese Benutzer auf:

Um herauszufinden, was gerade passiert, können Sie den Befehl in PowerShell ausführen und erfahren, wo das eigentliche Problem liegt:

PS C:\Users\Laurent-Philippe> tsc && concurrently "tsc -w" "lite-server"
At line:1 char:5
+ tsc && concurrently "tsc -w" "lite-server"
+     ~~
The token '&&' is not a valid statement separator in this version.
    + CategoryInfo          : ParserError: (:) [], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : InvalidEndOfLine

Grundsätzlich erklärt die Nachricht, dass das Token "&&" unter Windows 10 noch nicht gültig ist. Und für diejenigen, die sich fragen, hat der gleiche Befehl, der && durch & ersetzt, uns mitgeteilt, dass der kaufmännische Und-Operator für die zukünftige Verwendung reserviert ist:

 (&) character is not allowed. The & operator is reserved for future use; wrap an ampersand in double quotation marks ("&") to pass it as part of a string.

Schlussfolgerungen :

  • Wenn Sie diesen Befehl manuell über die Powershell starten möchten, können Sie Folgendes verwenden:

    tsc "&" gleichzeitig "tsc -w" "lite-server"

  • Wenn Sie Ihre Anwendung mit npm start starten möchten, ersetzen Sie die Startzeile in Ihrer package.json durch:

    "start": "tsc & gleichzeitig" tsc -w "lite-server"

  • Alternativ funktioniert die Antwort von user60108 auch, weil er das kaufmännische Und nicht verwendet:

    "start": "gleichzeitig" npm run tsc: w "" npm run lite "

Laurent-Philippe Albou
quelle
1

Es ist sehr wahrscheinlich, dass Ihre NPM-Version alt ist. Ich hatte dies kürzlich auf einem Entwicklercomputer bei der Arbeit. Geben Sie Folgendes ein:

npm -v

Wenn es weniger als die aktuelle stabile Version ist und Sie einfach Ihre Node.js-Installation von hier aus aktualisieren können, https://nodejs.org/en/ :)

NewZeroRiot
quelle
1

Das hat mir geholfen, sagen wir /// <reference path="../node_modules/angular2/typings/browser.d.ts" /> oben in der Bootstraping-Datei.

Beispielsweise:-

In boot.ts

/// <reference path="../node_modules/angular2/typings/browser.d.ts" />
import {bootstrap} from 'angular2/platform/browser'
import  {AppComponent} from './app.component'

bootstrap(AppComponent);

Hinweis: - Stellen Sie sicher, dass Sie den richtigen Referenzpfad angegeben haben .

Weinstock
quelle
1
  1. In devDependencies ist Typoskript 1.7.3, aber Sie haben 1.7.5 Fix Common Common.
  2. Importieren Sie Ihre JS-Dateien in der richtigen Reihenfolge in index.html. Weitere Informationen finden Sie in diesem Repository unter https://github.com/pkozlowski-opensource/ng2-play/blob/master/index.html oder in meinem Repository hier

    https://github.com/MrPardeep/Angular2-DatePicker

index.html

<script src="node_modules/angular2/bundles/angular2-polyfills.js"></script>
    <script src="node_modules/es6-shim/es6-shim.min.js"></script>
    <script src="node_modules/systemjs/dist/system.src.js"></script>

    <script>
        System.config({
                    defaultJSExtensions: true,
                    map: {
                        rxjs: 'node_modules/rxjs'
                    },
                    packages: {
                        rxjs: {
                        defaultExtension: 'js'
                      }
                    }
                });
    </script>
    <script src="node_modules/angular2/bundles/angular2.dev.js"></script>
    <script src="node_modules/rxjs/bundles/Rx.js"></script>
    <script src="node_modules/angular2/bundles/router.dev.js"></script>
    <script src="node_modules/angular2/bundles/http.dev.js"></script>

<script>
    System.import('dist/bootstrap');
</script> 
Pardeep Jain
quelle
Vielen Dank für Ihre Wiederholung, aber es löst mein Problem nicht :)
Tomasz Ciunel
als wie @Eric sagte überprüfen Sie Ihre Knotenversion sollte es zwischen 4 * 5 und npm Version sollte zwischen 2 * 3 sein. oder poste deine Projektstruktur, es wird mir helfen, das Problem herauszufinden.
Pardeep Jain
Danke dir! Das hat bei mir funktioniert. Dieser Link insbesondere: github.com/pkozlowski-opensource/ng2-play/blob/master/…
brando
Herzlich willkommen :) Dieser Link ist sehr nützlich für den Start in angle2 beta0.0.
Pardeep Jain
0

Ich kann Schritte problemlos reproduzieren.

Bitte versuche:

(1) Entfernen Sie diese Zeile aus Ihrer index.html

<script src="node_modules/es6-shim/es6-shim.js"></script>

(2) ändern Datei: app.components.ts , löscht „“ am Ende der Zeile in Vorlage Feld

@Component({
    selector: 'my-app',
    template: '<h1>My First Angular 2 App</h1>'
})

Hier ist meine Umgebung:

$ node -v
v5.2.0

$ npm -v
3.3.12

$ tsc -v
message TS6029: Version 1.7.5

Bitte beziehen Sie sich auf dieses Repo für meine Arbeit: https://github.com/AlanJui/ng2-quick-start

AlanJui
quelle
Wenn wir ,am Ende der Vorlage verwenden, habe ich kein Problem erzeugt. und wie kann das Projekt ohne laufenes6-shim
Pardeep Jain
0

Die globale Installation der Pakete ist eine Möglichkeit, dies beschränkt Sie jedoch darauf, für alle Projekte, in denen sie verwendet werden, dieselbe Version zu verwenden.

Stattdessen können Sie Ihren npm-Skripten ein Präfix voranstellen ./node_modules/.bin. In Ihrem Fall package.jsonwürde das so aussehen:

{
  "name": "reservationsystem",
  "version": "0.0.1",
  "scripts": {
    "tsc": "./node_modules/.bin/tsc",
    "tsc:w": "npm run tsc -w",
    "lite": "./node_modules/.bin/lite-server",
    "start": "./node_modules/.bin/concurrent \"npm run tsc:w\" \"npm run lite\" "
  },
  "dependencies": {
    "a2-in-memory-web-api": "~0.1.0",
    "angular2": "2.0.0-beta.3",
    "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.11"
  },
  "devDependencies": {
    "concurrently": "^1.0.0",
    "lite-server": "^2.0.1",
    "typescript": "^1.7.5"
  }
}

Ich denke, npm soll den ./node_modules/.binBefehl vor jedem "Skript" -Befehl liefern, der sich standardmäßig in diesem Verzeichnis befindet, weshalb das Original so package.jsonaussah, wie es aussah. Ich bin nicht sicher, ob diese Funktion in jeder Version von npm enthalten ist oder ob es eine Konfigurationseinstellung gibt, die Sie angeben sollten. Es lohnt sich, einen Blick darauf zu werfen!

BrianRT
quelle
0

Ich hatte das gleiche Problem, wir haben beide vergessen, die 's' auf Komponenten hier aufzunehmen:

import  {AppComponent} from './app.component'

Sollte sein:

boot.js:

import {bootstrap} from 'angular2/platform/browser'
import  {AppComponent} from './app.components'

bootstrap(AppComponent);
Jim Factor
quelle
Dies ist nicht wahr, nach dem Beispiel sollte es kein 's' auf app.component geben
Brad Woods
0

Ich hatte den gleichen Fehler unter OS X (Node v6.2.0 und npm v3.9.3 mit Homebrew installiert) und er wurde durch keines der oben genannten Probleme behoben. Ich musste den Befehlen, die gleichzeitig ausgeführt werden, vollständige Pfade hinzufügen.

In package.json habe ich Folgendes geändert:

"start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",

dazu:

"start": "tsc && concurrently \"/Users/kyen/.node/bin/npm run tsc:w\" \"/Users/kyen/.node/bin/npm run lite\" ",

Sie müssen natürlich die richtigen Pfade aktualisieren, je nachdem, wo die globalen Binärdateien Ihres Knotens gespeichert sind. Beachten Sie, dass ich den Pfad nicht zum ersten tsc-Befehl hinzufügen musste. Es scheint nur gleichzeitig die angegebenen vollständigen Pfade zu benötigen.

kyen99
quelle
0

Ich habe den gleichen Fehler getroffen. Und nach langem Suchen habe ich endlich Folgendes gefunden: Angular2-Anwendung über package.json installieren und ausführen . Dann habe ich versucht zu ersetzen

"scripts": { "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ", "lite": "lite-server", "postinstall": "typings install", "tsc": "tsc", "tsc:w": "tsc -w", "typings": "typings" }, zu

"scripts": { "start": "concurrently \"npm run tsc:w\" \"npm run lite\" ", "lite": "lite-server", "postinstall": "typings install", "tsc": "tsc", "tsc:w": "tsc -w", "typings": "typings" },

Hoffe es hilft wer den gleichen Fehler bekommt.

PS: Mein Fehler ist nicht der gleiche wie bei Tomasz. Meine npm-Version ist 3.7.3 und die Knotenversion ist 5.9.1.

Beck
quelle
0

Deinstallieren Sie alle vorhandenen Knotenpakete. Aktualisieren Sie den Knoten und npm. Wie in der Dokumentation als mindestens Knoten v5.xx und npm 3.xx angegeben, führt dies zu Fehlern.

Tu es npm clean. Dann tun Sie npm install, npm start.

Dies löste das Problem für mich.

Ajith Thomas
quelle
Dies ist nicht wahr, die Dokumentation zeigt mindestens Knoten v4.xx angle.io/docs/ts/latest/…
Brad Woods
0

Für Benutzer von Ubuntu 16.x löst die Installation der neuesten Version 5.x mein Problem in Ubuntu

curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -
sudo apt-get install -y nodejs
Subrata Mazumder
quelle
0

Anscheinend gibt es mehr als eine Möglichkeit, wie Angular2-Quickstart fehlschlagen kann. Ich hatte das gleiche Problem beim Ausführen von Angular2 Version 2.0.0 unter einer Neuinstallation von Knoten 6.6.0 / npm 3.10.3 unter Windows 7. In meinem Fall wurden beim Ausführen npm starteine Menge Typoskriptfehler ausgegeben :

c:\git\angular2-quickstart>npm start

> angular2-quickstart@1.0.0 start c:\git\angular2-quickstart
> tsc && concurrently "npm run tsc:w" "npm run lite"

node_modules/@angular/common/src/directives/ng_class.d.ts(46,34): error TS2304: Cannot find name 'Set'.
node_modules/@angular/common/src/pipes/async_pipe.d.ts(39,38): error TS2304: Cannot find name 'Promise'.
(...)

Dieses Problem wird in der Winkel-Schnellstart-Ausgabe Nr. 63 behandelt, in der "Typisierungen" nicht korrekt installiert sind . Dieses Ticket gibt den Fix als

$ ./node_modules/.bin/typings install

das hat bei mir funktioniert. (Ich bin mir noch nicht sicher, wie ich das "richtig" machen soll.)

Robert Calhoun
quelle
0

Bitte stellen Sie sicher, dass die Namen korrekt sind, und ändern Sie sie daher componentin boot.js in components. Geben Sie hier die Bildbeschreibung ein

Kapitän
quelle
0

In der Datei package.json habe ich die Zeile entfernt, die hatte "prestart": "npm run build". Dies scheint ein blockierender Befehl zu sein und tritt vor dem Start (npm) auf, wodurch die anderen Startbefehle verhindert werden.

SimonInOz
quelle
0

Ändern Sie start in angular.json in entweder "start": "ng serve --host 0.0.0.0"oder "start": "lite-server"und führen Sie es aus. Überprüfen Sie auch, ob Sie angle / cli ordnungsgemäß installiert haben oder nicht.

Alekya
quelle
0

In dem Schnellstart-Tutorial habe ich die Schritte bis durchlaufen npm start. Dann habe ich diesen Fehler bekommen. Dann habe ich den node_modulesOrdner unter gelöscht angular-quickstartund npm installwieder ausgeführt. Jetzt gehts.

Edi
quelle
0

Wenn Sie einen Proxy verwenden, kann dies folgenden Fehler verursachen:

  1. npm config set proxy http://username:pass@proxy:port

  2. npm config set https-proxy http://username:pass@proxy:port

  3. Erstellen Sie eine Datei mit dem Namen .typingsrcin Ihrem Anwendungsordner, die Folgendes enthält:

    • Proxy = (Wert in Schritt 1)
    • https-proxy = (Wert in Schritt 1)
  4. Lauf npm cache clean

  5. Lauf npm install
  6. Lauf npm typings install
  7. Lauf npm start

es wird dann funktionieren

kubra
quelle
Nein, immer noch: Fehler TS5023: Unbekannte Compileroption 'moduleResolution'.
Christof Kälin