Angular2 QuickStart npm start nie działa poprawnie


105

Struktura plików

Wiem, że beta Angular2 została właśnie wydana, ale nie mogę odtworzyć kroków z samouczka ich oficjalnej strony ( https://angular.io/guide/quickstart ). Może ktoś miał podobne problemy i wie, co zrobić, żeby to naprawić? Kiedy próbuję uruchomić aplikację za pomocą npm startpolecenia, otrzymuję takie dane wyjściowe:

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 ]

Miałem: maszynopis 1.7.5 wersja węzeł 0.12.2 wersja

Może ktoś mógłby pomóc rozwiązać problem :)?

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

Czy mógłbyś edytować swój post z plikami?
Romain

Jaka jest twoja struktura folderów? czy plik index.html jest w nim app/czy poza nim?
the_critic

Po pierwsze, plik boot.js musi być plikiem maszynopisu przemianować go jako boot.ts . Nie widzę nic innego, co wydaje się nie tak ... Jak powiedział the_critic , czy mógłbyś nam podać strukturę swojego projektu.
Romain

To jest boot.ts. Przez pomyłkę wpisałem „js” na stackoverflow - przepraszam. Indeks html znajduje się w katalogu głównym, na przykład pakiet.json. Nie ma go w katalogu aplikacji / katalogu.
Tomasz Ciunel

2
Upewnij się, że wersja węzła to, >=4.2.1 <5a wersja npm jest taka, >=2.14.7 <3.0jak określono w przewodniku dla programistów . Myślę, że możesz sprawić, by działał z węzłem 5, ale nie wiem jak.
Eric Martinez

Odpowiedzi:


224

Zmień startpole w package.json z

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

do

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

2
Dlaczego dwukrotnie uruchomił TSC ( tsci tsc -w)?
smartmouse

9
Zadziałało! Ale dlaczego? Zacząłem się zniechęcać w ng2.
Maxim

9
W kursie „Play by Play Angular 2 Szybki start” na Pluralsight Ward Bell wyjaśnia to. „tsc” najpierw kompiluje kod, ponieważ bez tego w większym projekcie możliwe jest, że serwer uruchomi się przed zakończeniem kompilacji. W takim przypadku serwer zgłosiłby błąd wskazujący, że nie wie, co zrobić.
Starceaker

1
W 2017 roku obejście problemu w odpowiedzi ujawniło prawdziwy problem polegający na tym, że w maszynie w kodzie aplikacji wystąpiły błędy kompilacji. Kiedy naprawiłem błędy kompilacji, oryginalna wersja działała dobrze bez twojego obejścia.
CodeMed

1
Doskonale ... "start": "jednocześnie \" npm run tsc: w \ "\" npm run lite \ "" działało dla mnie ...
DILIP KOSURI

86

Aby npm starturuchomić dla mnie, musiałem upewnić się, że zainstalowałem globalnie niektóre z zależności devDependencies. Czy próbowałeś:

  • npm install -g concurrently
  • npm install -g lite-server
  • npm install -g typescript

ale myślę, że lite-serverjest to opcjonalne, możesz też skorzystać z innych usług
Pardeep Jain

11
Pracował dla mnie. sudo npm update -g && sudo npm install -g concurrently lite-server typescript.
Sam Finnigan,

6
nie zapomnij odinstalować wersji lokalnej:npm uninstall lite-server
Aurelien

1
Miałem ten sam problem z uruchomieniem serwera WWW przy użyciu angular2-seed z kursu Udemy. To rozwiązało mój problem.
dance2die

Tak! globalna instalacja serwera Lite i odinstalowanie pakietu lokalnego w końcu zadziałało na Vagrant! Dzięki wielkie!
Yahya Uddin

48

Najpierw potrzebujesz aktualizacji npm, lite-server i maszynopisu:

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

Usuń folder node_modules z katalogu projektu Angular (jeśli istnieje). Następny bieg:

npm install

Następnie rozwiąż błędy ENOSPC:

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

Wreszcie:

npm start

To jest mój plik package.json:

{
  "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"
  }
}


3
Głosowałem za, ponieważ to rozwiązało mój problem. Chciałbym jednak zrozumieć, jak dodanie fs.inotify.max_user_watches do / etc / sysctl naprawiło to.
Joshua Wilson

Wygląda na to, że obserwator potrzebuje więcej pamięci i to zapewnia.
Joshua Wilson

Wydaje mi się, że działa lepiej, gdy najpierw usuwam moduły - rm -r node_modules/. W każdym razie, jak mówi mężczyzna, to mnie skłoniło; Uderzyło mnie, że fs.inotify.max_user_watches=524288wydaje mi się to przesadne. Czy na wietrze jest lepszy rozsądek ?
będzie

Warto dodać, że szybki start w Javascript uruchamia się zaraz po wyjęciu z pudełka. BEZ ogromnych dodatków. A kiedy serwer zatrzymuje stronę internetową stays on screen. Wersja maszynopisu po prostu znika z 404 kłębami dymu
będzie

to mnie uratowało, dziękuję. echo fs.inotify.max_user_watches = 524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
chintan adatiya

15

Miałem ten sam błąd w systemie Windows 10. Wygląda na to, że jest to problem z równolegle pakietem npm. Znalazłem 2 opcje jak rozwiązać ten błąd:

  • 1. Uruchom obie komendy w 2 oddzielnych cmds:

    • w pierwszym biegu: npm run tsc:w
    • w drugiej: npm run lite
  • 2. Zmień package.json

    • po prostu zmień opcję start na tę: "start": "tsc && npm run tsc:w | npm run lite",

2
Tylko uwaga. W systemie Linux:"start": "tsc && npm run tsc:w & npm run lite",
ACV

Cóż, dla mnie jest to automatyczna rekompilacja.
dontHaveName

Miałem na myśli mój pierwszy komentarz :) na Linuksie to nie zadziała
ACV

Tylko to rozwiązanie działało u mnie. Próbowałem najpierw (uruchom obie komendy w 2 oddzielnych cmds). Następnie zatrzymał proces w obu cmds. Na koniec zastosuj drugi (zmień pakiet.json) i uruchom "npm start" w jednym tylko cmd. Jeśli zmienię jeden plik, automatycznie localhost: 3000 odświeży się i pokaże moje zmiany. Wielkie dzięki!
Andrew F.

13

Oto, w jaki sposób rozwiązałem problem dzisiaj, po wielu godzinach wypróbowywania wszystkich tych różnych rozwiązań - (dla każdego, kto szuka jeszcze innego sposobu).

Otwórz 2 wystąpienia cmd w swoim katalogu szybkiego startu:

okno # 1:

npm run build:watch

następnie...

okno # 2:

npm run serve

Następnie otworzy się w przeglądarce i będzie działać zgodnie z oczekiwaniami


9

Miałem podobny problem po skopiowaniu folderu angular2-quickstart (w tym node_modules), aby utworzyć folder angular2-tour-of-heroes. To było dziwne, ponieważ oryginał kompilował się dobrze, ale kopia nie była ...

npm run tsc

Udało mi się rozwiązać ten problem, usuwając folder node_modules i ponownie uruchamiając instalację npm .

To była dla mnie niespodzianka, więc zrobiłem różnicę między dwoma folderami ...

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

było DUŻO różnic, wiele różnic `` gdzie '' w plikach package.json, takich jak ten: -

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"

... który rodzaj ma sens, ale były też takie: -

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)

... których w ogóle nie rozumiem.

No cóż, mam nadzieję, że to pomaga.


5

Zmień pole początkowe w package.json z:

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

Do:

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

To naprawdę pomogło.


5

Ta odpowiedź odnosi się do doskonałego kursu Pluralsight „Angular 2 Fundamentals” autorstwa Jima Coopera.

Jeśli tak jak ja masz problem z uruchomieniem polecenia npm start na komputerze z systemem Windows 10, sugeruję następujące czynności:

Uruchom git bash jako administrator (postępuj zgodnie z instrukcjami w filmie) Przejdź do katalogu projektu ( ng2-fundamentals ), a następnie wpisz następujące polecenia:

npm config get registry

npm cache clean

npm install

Po zakończeniu instalacji będziesz musiał zmodyfikować plik get-shell.js znajdujący się w module spawn-default-shell wewnątrz folderu node_modules w następujący sposób:

Zmień następujące:

const DETECT_SH_REGEX = /sh$/;

do tego:

const DETECT_SH_REGEX = /sh/;

Zwróć uwagę na $ usunięte z końca łańcucha sh (dzięki autorowi tej poprawki alfian777, który opublikował rozwiązanie na github )

Zapisz plik, a następnie przejdź do konsoli git bash i wpisz npm start

Nie powinieneś teraz widzieć żadnych błędów, a strona localhost uruchomi się w twojej domyślnej przeglądarce (alternatywnie otwórz przeglądarkę i przejdź do http: // localhost: 8808 / ).


3

Żadna z tych odpowiedzi nie pomogła w Ubuntu . W końcu trafiłem na rozwiązanie Johna Papy (autora lite-server).

W Ubuntu 15.10 Szybki start Angular 2 ożył po uruchomieniu tego na terminalu:

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

Najwyraźniej zwiększa liczbę dostępnych plików do obejrzenia.

Źródło odpowiedzi: https://github.com/johnpapa/lite-server/issues/9


3

Napotkałem ten sam problem. Jednak żadna z powyższych odpowiedzi nie była dla mnie właściwym rozwiązaniem. Okazuje się, że wynikało to bardziej z mojego środowiska deweloperskiego niż z dowolnej wersji rzeczy.

Odkąd użyłem Visual Studio Code, skonfigurowałem zadanie kompilacji w VSC, aby skompilować TypeScript jako obserwator. To był problem. VSC uruchomiło już zadanie NPM dla TSC, więc podczas wykonywania skryptu „start” tego samouczka miał problemy z faktem, że VSC nadal działał tsc -w.

Zatrzymałem zadanie w VSC i ponownie uruchomiłem skrypt „start” i działało dobrze.

Rozwiązanie A: Stop i npm Start

  • Polecenie VSC> Zadania: Zakończ uruchomione zadania
  • Terminal $ npm start

Po tym, aby wszystko działało razem, zmieniam skrypt startowy, aby po prostu uruchomić serwer, a nie uruchamiać TSC.

Rozwiązanie B: Zmień skrypt startowy npm

  • Zastąpić

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

  • z

    "start": "npm run lite"

Rozwiązanie C: Po prostu uruchom polecenie serwera lite

`npm run lite`


2

Ta odpowiedź dotyczy tylko użytkowników systemu Windows 10 i jak zobaczysz poniżej, podejrzewam, że problem dotyczy tylko tych użytkowników:

Aby dowiedzieć się, co się dzieje, możesz uruchomić polecenie w programie PowerShell i powie Ci, jaki jest rzeczywisty problem:

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

Zasadniczo komunikat wyjaśnia, że ​​token „&&” nie jest jeszcze ważny w systemie Windows 10. A dla tych, którzy się zastanawiają, to samo polecenie zastępujące && przez & poinformowało nas, że operator ampersand jest zarezerwowany do użytku w przyszłości:

 (&) 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.

Wnioski :

  • jeśli chcesz ręcznie uruchomić to polecenie z PowerShell, możesz użyć tego:

    tsc "&" jednocześnie "tsc -w" "lite-server"

  • jeśli chcesz uruchomić swoją aplikację z npm start, zamień linię startową w swoim package.json na:

    "start": "tsc & współbieżnie \" tsc -w \ "\" lite-server \ ""

  • alternatywnie, odpowiedź user60108 również działa, ponieważ nie używa znaku &:

    "start": "jednocześnie \" npm run tsc: w \ "\" npm run lite \ ""


1

Najprawdopodobniej twoja wersja NPM jest stara, ostatnio miałem ją na komputerze deweloperskim w pracy, wpisz:

npm -v

Jeśli jest to coś mniej niż obecna stabilna wersja, możesz po prostu zaktualizować swoją instalację Node.js tutaj https://nodejs.org/en/ :)


1

To zadziałało, umieściłem /// <reference path="../node_modules/angular2/typings/browser.d.ts" />na początku pliku bootstrap.

Na przykład:-

W boot.ts

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

bootstrap(AppComponent);

Uwaga: - Upewnij się, że podałeś poprawną ścieżkę odniesienia .


1
  1. W devDependencies typ skryptu to 1.7.3, ale masz wersję 1.7.5.
  2. Zaimportuj pliki js we właściwej kolejności w formacie index.html. aby uzyskać więcej informacji, zapoznaj się z tym repozytorium https://github.com/pkozlowski-opensource/ng2-play/blob/master/index.html lub zapoznaj się z moim repozytorium tutaj

    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> 

Dzięki za powtórkę, ale to nie rozwiązuje mojego problemu :)
Tomasz Ciunel

niż jak powiedział @Eric, sprawdź wersję swojego węzła, która powinna być między 4 * 5 a wersją npm powinna między 2 * 3. lub opublikuj strukturę swojego projektu, to pomoże mi znaleźć problem.
Pardeep Jain

Dziękuję Ci! To zadziałało dla mnie. W szczególności ten link: github.com/pkozlowski-opensource/ng2-play/blob/master/…
brando

witam :) ten link jest bardzo przydatny do uruchamiania w angular2 beta0.0.
Pardeep Jain

0

Mogę bez problemu odtworzyć kroki.

Proszę spróbować:

(1) usuń ten wiersz z pliku index.html

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

(2) zmodyfikuj plik: app.components.ts , usuń "," na końcu linii w polu szablonu

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

Oto moje środowisko:

$ node -v
v5.2.0

$ npm -v
3.3.12

$ tsc -v
message TS6029: Version 1.7.5

Proszę odnieść się do tego repozytorium mojej pracy: https://github.com/AlanJui/ng2-quick-start


jeśli użyjemy ,na końcu szablonu, nie sprawiłem żadnego problemu. i jak projekt może działać bezes6-shim
Pardeep Jain,


0

Globalna instalacja pakietów jest jednym ze sposobów, ale ogranicza to korzystanie z tej samej wersji we wszystkich projektach, w których są używane.

Zamiast tego możesz poprzedzić swoje skrypty npm ciągiem ./node_modules/.bin. W twoim przypadku package.jsonwyglądałoby to tak:

{
  "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"
  }
}

Myślę, że npm powinien podawać ./node_modules/.binprzed każdym poleceniem „script” znajdującym się w tym katalogu domyślnie, dlatego oryginał package.jsonwyglądał tak, jak wyglądał. Nie jestem pewien, czy ta funkcja jest w każdej wersji npm, czy też istnieje jakieś ustawienie konfiguracyjne, które powinieneś określić. Warto się temu przyjrzeć!


0

Miałem ten sam problem, oboje zapomnieliśmy dodać litery „s” na komponentach:

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

Powinien być:

boot.js:

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

bootstrap(AppComponent);

to nieprawda, idąc za przykładem, na komponencie app.com nie powinno być znaków „s”
Brad Woods

0

Miałem ten sam błąd na OS X (węzeł v6.2.0 i npm v3.9.3 zainstalowany z homebrew) i nie został on rozwiązany przez żadne z powyższych. Musiałem dodać pełne ścieżki do poleceń uruchamianych jednocześnie.

W package.json zmieniłem to:

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

do tego:

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

Będziesz oczywiście musiał zaktualizować prawidłowe ścieżki w zależności od tego, gdzie są przechowywane globalne pliki binarne twojego węzła. Zauważ, że nie musiałem dodawać ścieżki do pierwszego polecenia tsc. Wydaje się, że tylko jednocześnie wymaga podania pełnych ścieżek.


0

Spotkałem ten sam błąd. I po wielu poszukiwaniach w końcu znalazłem to: aplikacja Angular2 instaluje się i uruchamia przez package.json . Potem próbowałem wymienić

"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" }, do

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

Mam nadzieję, że pomoże to, kto otrzyma ten sam błąd.

PS: Mój błąd to nie to samo co Tomasz, czyli moja wersja npm to 3.7.3, a wersja węzła to 5.9.1.


0

Odinstaluj wszystkie istniejące pakiety węzłów. Zaktualizuj węzeł i npm, tak jak podano w dokumentacji jako co najmniej węzeł v5.xx i npm 3.xx w przeciwnym razie spowoduje to błędy.

Zrób npm clean. Następnie zrobić npm install, npm start.

To rozwiązało problem.


to nieprawda, statystyki dokumentacji co najmniej węzeł v4.xx angular.io/docs/ts/latest/ ...
Brad Woods

0

W przypadku użytkowników Ubuntu 16.x zainstalowanie najnowszej wersji 5.x rozwiązuje mój problem w systemie Ubuntu

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

0

Wygląda na to, że angular2-quickstart może się nie uruchomić na więcej niż jeden sposób . Miałem ten sam problem z uruchomieniem Angular2 w wersji 2.0.0 pod nową instalacją węzła 6.6.0 / npm 3.10.3 w systemie Windows 7. W moim przypadku podczas uruchamiania npm startzrzucono mnóstwo błędów maszynopisu:

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'.
(...)

Ten problem został omówiony w wydaniu nr 63 z przewodnika Szybki start dotyczący rozwiązań kątowych, „Nieprawidłowe instalowanie czcionek” . Ten bilet daje poprawkę jako

$ ./node_modules/.bin/typings install

który pracował dla mnie. (Nie jestem jeszcze pewien „właściwego” sposobu, aby to zrobić).


0

Upewnij się, że nazwy są poprawne, zmieniając componentw ten sposób w boot.js na components. wprowadź opis obrazu tutaj



0

W pliku package.json usunąłem wiersz, który miał "prestart": "npm run build". Wydaje się, że jest to polecenie blokujące i występuje przed (npm) uruchomieniem, zapobiegając tym samym innym poleceniom startu.


0

Zmień początek w angular.json na albo "start": "ng serve --host 0.0.0.0"lub "start": "lite-server"i uruchom. Sprawdź także, czy zainstalowałeś poprawnie angular / cli, czy nie.


0

W samouczku szybkiego startu wykonałem wszystkie kroki do npm start. Wtedy otrzymałem ten błąd. Następnie usunąłem node_modulesfolder pod angular-quickstarti uruchomiłem npm installponownie. Teraz działa.


0

Jeśli używasz proxy, może to spowodować ten błąd:

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

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

  3. utwórz plik o nazwie .typingsrcw folderze aplikacji, który zawiera:

    • proxy = (wartość w kroku 1)
    • https-proxy = (wartość w kroku 1)
  4. biegać npm cache clean

  5. biegać npm install
  6. biegać npm typings install
  7. biegać npm start

to zadziała wtedy


Nie, trwa pobieranie: błąd TS5023: nieznana opcja kompilatora „moduleResolution”.
Christof Kälin,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.