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 start
polecenia, 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);
app/
czy poza nim?>=4.2.1 <5
a wersja npm jest taka,>=2.14.7 <3.0
jak 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.Odpowiedzi:
Zmień
start
pole w package.json zdo
źródło
tsc
itsc -w
)?Aby
npm start
uruchomić 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
źródło
lite-server
jest to opcjonalne, możesz też skorzystać z innych usługsudo npm update -g && sudo npm install -g concurrently lite-server typescript
.npm uninstall lite-server
Najpierw potrzebujesz aktualizacji npm, lite-server i maszynopisu:
Usuń folder node_modules z katalogu projektu Angular (jeśli istnieje). Następny bieg:
Następnie rozwiąż błędy ENOSPC:
Wreszcie:
To jest mój plik package.json:
źródło
rm -r node_modules/
. W każdym razie, jak mówi mężczyzna, to mnie skłoniło; Uderzyło mnie, żefs.inotify.max_user_watches=524288
wydaje mi się to przesadne. Czy na wietrze jest lepszy rozsądek ?stays on screen
. Wersja maszynopisu po prostu znika z 404 kłębami dymuMiał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:
npm run tsc:w
npm run lite
2. Zmień
package.json
"start": "tsc && npm run tsc:w | npm run lite",
źródło
"start": "tsc && npm run tsc:w & npm run lite",
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:
następnie...
okno # 2:
Następnie otworzy się w przeglądarce i będzie działać zgodnie z oczekiwaniami
źródło
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 ...
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 ...
było DUŻO różnic, wiele różnic `` gdzie '' w plikach package.json, takich jak ten: -
... który rodzaj ma sens, ale były też takie: -
... których w ogóle nie rozumiem.
No cóż, mam nadzieję, że to pomaga.
źródło
Zmień pole początkowe w package.json z:
Do:
To naprawdę pomogło.
źródło
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:
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:
do tego:
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 / ).
źródło
Ż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:
Najwyraźniej zwiększa liczbę dostępnych plików do obejrzenia.
Źródło odpowiedzi: https://github.com/johnpapa/lite-server/issues/9
źródło
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
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
źródło
Rozwiązałem problem z programem Szybki start, klikając poniższy link.
Błąd serwera na żywo w Angular 2 QuickStart
Zmień
Package.json
ustawienia skryptówdo:
źródło
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:
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:
Wnioski :
jeśli chcesz ręcznie uruchomić to polecenie z PowerShell, możesz użyć tego:
jeśli chcesz uruchomić swoją aplikację z npm start, zamień linię startową w swoim package.json na:
alternatywnie, odpowiedź user60108 również działa, ponieważ nie używa znaku &:
źródło
Najprawdopodobniej twoja wersja NPM jest stara, ostatnio miałem ją na komputerze deweloperskim w pracy, wpisz:
Jeśli jest to coś mniej niż obecna stabilna wersja, możesz po prostu zaktualizować swoją instalację Node.js tutaj https://nodejs.org/en/ :)
źródło
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
Uwaga: - Upewnij się, że podałeś poprawną ścieżkę odniesienia .
źródło
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 tutajindex.html
źródło
Mogę bez problemu odtworzyć kroki.
Proszę spróbować:
(1) usuń ten wiersz z pliku index.html
(2) zmodyfikuj plik: app.components.ts , usuń "," na końcu linii w polu szablonu
Oto moje środowisko:
Proszę odnieść się do tego repozytorium mojej pracy: https://github.com/AlanJui/ng2-quick-start
źródło
,
na końcu szablonu, nie sprawiłem żadnego problemu. i jak projekt może działać bezes6-shim
Spróbuj tego:
npm install -g tsd
npm i
inpm start
źródło
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 przypadkupackage.json
wyglądałoby to tak:Myślę, że npm powinien podawać
./node_modules/.bin
przed każdym poleceniem „script” znajdującym się w tym katalogu domyślnie, dlatego oryginałpackage.json
wyglą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ć!źródło
Miałem ten sam problem, oboje zapomnieliśmy dodać litery „s” na komponentach:
Powinien być:
boot.js:
źródło
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:
do tego:
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.
źródło
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.
źródło
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.
źródło
W przypadku użytkowników Ubuntu 16.x zainstalowanie najnowszej wersji 5.x rozwiązuje mój problem w systemie Ubuntu
źródło
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 start
zrzucono mnóstwo błędów maszynopisu: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
który pracował dla mnie. (Nie jestem jeszcze pewien „właściwego” sposobu, aby to zrobić).
źródło
Upewnij się, że nazwy są poprawne, zmieniając
component
w ten sposób w boot.js nacomponents
.źródło
Przejdź do adresu https://github.com/npm/npm/issues/14075 . I spróbuj odpowiedzi juaniliska. Może ci pomogę.
źródło
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.źródło
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.źródło
W samouczku szybkiego startu wykonałem wszystkie kroki do
npm start
. Wtedy otrzymałem ten błąd. Następnie usunąłemnode_modules
folder podangular-quickstart
i uruchomiłemnpm install
ponownie. Teraz działa.źródło
Jeśli używasz proxy, może to spowodować ten błąd:
npm config set proxy http://username:pass@proxy:port
npm config set https-proxy http://username:pass@proxy:port
utwórz plik o nazwie
.typingsrc
w folderze aplikacji, który zawiera:biegać
npm cache clean
npm install
npm typings install
npm start
to zadziała wtedy
źródło