2017-12-11 95 views
6

Próbuję użyć najnowszej kanciastej cli do wygenerowania komponentu. Próbowałem wygenerować moduł również mam podobny błąd.ng g app-shell input.mergeMap nie jest funkcją

ng g component testComponent 

mam ten błąd

input.mergeMap is not a function 
TypeError: input.mergeMap is not a function 
    at Object.callRule (C:\Users\dammy\Documents\Visual Studio 2017\Projects\Cars\node_modules\@angular-devkit\schematics\src\rules\call.js:70:18) 

mój plik Package.json wygląda tak:

{ 
... 
    }, 
    "dependencies": { 
    ... 
    "css-loader": "0.28.4", 
    "es6-shim": "0.35.3", 
    "event-source-polyfill": "0.0.9", 
    "expose-loader": "0.7.3", 
    "extract-text-webpack-plugin": "2.1.2", 
    "file-loader": "0.11.2", 
    "html-loader": "0.4.5", 
    "isomorphic-fetch": "2.2.1", 
    "jquery": "3.2.1", 
    "json-loader": "0.5.4", 
    "preboot": "4.5.2", 
    "raw-loader": "0.5.1", 
    "reflect-metadata": "0.1.10", 
    "rxjs": "5.5.5", 
    "style-loader": "0.18.2", 
    "to-string-loader": "1.1.5", 
    "typescript": "2.4.1", 
    "url-loader": "0.5.9", 
    "webpack": "2.5.1", 
    "webpack-hot-middleware": "2.18.2", 
    "webpack-merge": "4.1.0", 
    "zone.js": "0.8.12" 
    }, 

mam zainstalowane: Angular/[email protected]

+0

Mam również uruchomiony ten sam problem. Używam 1.6.0 – anbiniyar

+1

Zmieniłem "rxjs": "5.5.2" na "rxjs": "^ 5.5.2" w moim pliku package.json i który prawdopodobnie naprawił problem. Przeszukałem plik call.js i dowiedziałem się, że oni polegają na mergeMap, która jest częścią "rxjs". Wypróbuj go i daj mi znać, czy zadziałało. – anbiniyar

+0

Mam zainstalowany program rxjs 5.5.5 i nadal otrzymuję ten błąd. – MapLion

Odpowiedz

3
It seems that if you have @angular/cli installed globally and a different 
version installed locally it gets broken. I solved the same error removing the 
cli package that was installed locally with 

npm remove @angular/cli --save 

then install your CLI-> 

npm install -g @angular/[email protected] 
+0

to zadziałało dla mnie – tero17

+0

dobrze cię słyszeć –

+0

To rozwiązało problem dla mnie. Pozdrawiam – NetEmmanuel

1

It wygląda na to, że wersja @angular/cli ma zależność rxjs od wersji 5.5.5

Zobacz to drzewo Zależność:

yarn list rxjs 
yarn list v0.27.5 
├─ @angular-devkit/[email protected] 
│ └─ [email protected] 
├─ @angular/[email protected] 
│ └─ [email protected] 
└─ [email protected] 
Done in 1.16s. 

W moim przypadku wersja była w 5.5.2 i modernizacji stacjonarnej ten problem.

+0

aktualizacja rxjs do wersji 5.5.5 nie naprawia tego dla mnie – NetEmmanuel

0

Miał ten sam problem; Powróciłem tymczasowo do wersji vangify/cli w wersji 1.5.0 poprzez usunięcie modułu node_modules i ponownie uruchomiłem yarn install.

Aktualizacja @ kątowa/cli do wersji 1.6.0 wprowadza ten problem z powodu niedopasowania zależności dla @ kąt-devkit/schematy @ 0.0.41 (wymaga [email protected]) i @ kątowego/cli @ 1.6.0.

Edit: Zauważ, że ustawienie wersję rxjs 5.5.5 w package.json nie uaktualnić zależności kodu dla @ kątowe-devkit/schematy @ 0.0.41 lub @ kątowe/CLI @ 1.6.0 jak pokazano w ekstrakcie poniżej.

referencyjny: [https://github.com/angular/angular-cli/issues/8782][1]

Komendy dotkniętych: ng generate XXX

Wydaje zależności dla @ kątowej/CLI i @ kątowej-devkit/schematy nie są uaktualniane po uaktualnieniu @ kątowej/CLI do v1.6.0 i w szczególności rxjs nie jest uaktualniany.

├─ @angular-devkit/[email protected] 
│ ├─ @angular-devkit/[email protected] 
│ ├─ @ngtools/[email protected]^1.1.0 
│ ├─ @schematics/[email protected] 
│ ├─ [email protected]^1.2.0 
│ ├─ [email protected]^5.5.2 
│ ├─ [email protected] 
│ │ └─ [email protected]^1.0.1 
│ └─ [email protected] 
├─ @angular/[email protected] 
│ └─ [email protected]^1.7.1 
├─ @angular/[email protected] 
│ ├─ @angular-devkit/[email protected]~0.0.35 
│ ├─ @angular-devkit/[email protected]~0.0.40 
│ ├─ @ngtools/[email protected] 
│ ├─ @ngtools/[email protected] 
│ ├─ @schematics/[email protected]~0.1.10 
│ ├─ [email protected]^6.5.3 
│ ├─ [email protected]~2.2.0 
│ ├─ [email protected] 
│ │ ├─ [email protected]^3.1.0 
│ │ ├─ [email protected]^1.0.5 
│ │ └─ [email protected]^4.0.0 
│ ├─ [email protected]^4.2.1 
│ ├─ [email protected]^1.3.1 
│ ├─ [email protected]^4.1.1 
│ ├─ [email protected]^3.1.0 
│ ├─ [email protected]^0.28.1 
│ ├─ [email protected]^3.10.0 
│ ├─ [email protected]^1.2.1 
│ ├─ [email protected]^1.0.0 
│ ├─ [email protected]^0.6.3 
│ ├─ [email protected]^3.0.2 
│ ├─ [email protected]^1.1.5 
│ ├─ [email protected]^4.0.0 
│ ├─ [email protected]^7.0.3 
│ ├─ [email protected]^2.29.0 
│ ├─ [email protected]^2.0.0 
│ ├─ [email protected]^1.2.0 
│ ├─ les[email protected]^4.0.5 
│ ├─ [email protected]^2.7.2 
│ ├─ [email protected]^1.0.0 
│ ├─ [email protected]^4.11.1 
│ ├─ [email protected]^0.4.1 
│ ├─ [email protected]^3.0.4 
│ ├─ [email protected]^1.0.0 
│ ├─ [email protected]^4.3.0 
│ ├─ [email protected]^4.0.1 
│ ├─ [email protected]~5.1.0 
│ ├─ [email protected]~1.0.12 
│ ├─ [email protected]^6.1.0 
│ ├─ [email protected]^2.0.8 
│ ├─ [email protected]^7.1.2 
│ ├─ [email protected]^0.5.1 
│ ├─ [email protected]^1.1.7 
│ ├─ [email protected]^5.5.2 
│ ├─ [email protected] 
│ │ └─ [email protected]^1.0.1 
2

miałem ten sam problem po aktualizacji do 1.6.0 @angular/cli chociaż miałem rxjs v5.5.5. Udało mi się go rozwiązać, wykonując następujące czynności:

npm i --save-dev @angular/[email protected]^1.6.0

npm i @angular/[email protected]^1.6.0 -g

npm i --save-dev [email protected]^2.6.2

npm i [email protected]^2.6.2 -g

W moim przypadku to było najprawdopodobniej spowodowane moja globalny maszynopis nie będąc w tej samej wersji co mój lokalny maszynopis. Po prostu ponownie zainstalowałem wszystko, aby upewnić się, że wszystko jest zsynchronizowane [i oczywiście, możesz połączyć niektóre z tych poleceń, po prostu napisałem to dla jasności].

AKTUALIZACJA: Z jakiegoś powodu otrzymałem ten problem i powyższe rozwiązania nie działały same z siebie.Po wykonaniu powyższych czynności udało mi się go rozwiązać, usuwając mój folder package-lock.json i lokalny node_modules i robiąc kolejny npm install.

+0

Ten [wątek] (https://github.com/angular/angular-cli/issues/8782) ma wiele rozwiązań dla ludzi, ale sugestia @ MapLion wydaje się pasować do tego, co sprawdziło się najbardziej. – rawkfist0215

3

Dla mnie ponownie zainstalowałem angular-devkit. Uruchom komendę:

npm install @angular-devkit/[email protected] --save-dev

I udało się!

+0

Wersje te dobrze ze sobą współpracują: "@ kątowe/kompilator-cli": "4.4.6" i "@ kątowe-devkit/schematy": "0.0.39" –

0

Miałem ten sam problem po aktualizacji do @ angleular/cli 1.6.3 i maszynie 2.6.2. Musisz sprawdzić, czy zarówno globalna jak i lokalna wersja @ angle/cli i maszynopis są takie same.

można sprawdzić wersje globalnych z tego polecenia:

ng -v 
tsc -v 

następnie porównać go z lokalnego package.json.

Jeśli różni:

globalnie

npm remove -g @angular/cli 
npm remove -g typescript 

npm i -g @angular/[email protected] 
npm i -g [email protected] 

lokalnie:

//Remove node_modules folder 
//remove package-lock.json 
npm i @angular/[email protected] --save-dev 
npm i [email protected] --save-dev 
npm install 

UWAGA: w chwili pisania jestem coraz ostrzeżenie od kątowa cli informujące, że

@angular/[email protected] requires [email protected]'>=2.4.2 <2.6.0' but 2.6.2 was found instead. 

Jeśli chcesz tego uniknąć. Możesz użyć