ionic-team / ionic-team/ionic-cli

Wrong reference to another version of the rxjs/Observable class through @ionic/ng-toolkit

未關閉
#3,565 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
triage
主要語言
TypeScript
星號
2k
分支
682
PR 合併指標
30 天內沒有已合併 PR

描述

# Bug Report

**Ionic Info**

```
Ionic:

ionic (Ionic CLI) : 4.1.2 (/usr/local/lib/node_modules/ionic)
Ionic Framework : @ionic/angular 4.0.0-beta.7
@angular-devkit/core : 0.7.5
@angular-devkit/schematics : 0.7.5
@angular/cli : 6.1.5
@ionic/ng-toolkit : 1.0.8
@ionic/schematics-angular : 1.0.6

Cordova:

cordova (Cordova CLI) : 8.0.0
Cordova Platforms : ios 4.5.5
Cordova Plugins : cordova-plugin-ionic-keyboard 2.1.2, cordova-plugin-ionic-webview 2.1.1, (and 3 other plugins)

System:

Android SDK Tools : 26.1.1 (/Users/tassiovale/Library/Android/sdk)
NodeJS : v8.9.4 (/usr/local/bin/node)
npm : 6.2.0
OS : macOS High Sierra
Xcode : Xcode 9.4.1 Build version 9F2000
```

**Describe the Bug**
Error when building for ios/android.
The framework makes reference to an old version of the rxjs/Observable class.

```
ng run app:ionic-cordova-build:production --platform=ios
sink._addParentTeardownLogic is not a function
TypeError: sink._addParentTeardownLogic is not a function
at Observable.subscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/rxjs/internal/Observable.js:27:18)
at MergeMapOperator.call (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/operators/mergeMap.js:35:23)
at Observable.subscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/rxjs/internal/Observable.js:24:22)
at /Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/util/subscribeToObservable.js:10:20
at Object.subscribeToResult (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/util/subscribeToResult.js:7:45)
at MergeMapSubscriber._innerSub (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/operators/mergeMap.js:75:38)
at MergeMapSubscriber._tryNext (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/operators/mergeMap.js:72:14)
at MergeMapSubscriber._next (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/operators/mergeMap.js:55:18)
at MergeMapSubscriber.Subscriber.next (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/Subscriber.js:64:18)
at Observable._subscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/observable/scalar.js:6:20)
at Observable._trySubscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/Observable.js:43:25)
at Observable.subscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/Observable.js:29:22)
at MergeMapOperator.call (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/operators/mergeMap.js:35:23)
at Observable.subscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/Observable.js:24:22)
at DoOperator.call (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/operators/tap.js:29:23)
at Observable.subscribe (/Users/tassiovale/Documents/develop/15158-ui-residential-routers/Code/03.LPI/intelbras-lpi/node_modules/@ionic/ng-toolkit/node_modules/rxjs/internal/Observable.js:24:22)
[ERROR] An error occurred while running subprocess ng.
```

**Steps to Reproduce**
Steps to reproduce the behavior:
1. npm install
2. ionic cordova build ios --prod

**Related Code**

```js
import { Observable, throwError } from 'rxjs';
```

**Additional Context**
Dependencies:

```
"dependencies": {
"@angular/common": "^6.1.4",
"@angular/core": "^6.1.4",
"@angular/forms": "^6.1.4",
"@angular/http": "^6.1.4",
"@angular/platform-browser": "^6.1.4",
"@angular/platform-browser-dynamic": "^6.1.4",
"@angular/router": "^6.1.4",
"@ionic-native/core": "^5.0.0-beta.17",
"@ionic-native/splash-screen": "5.0.0-beta.17",
"@ionic-native/status-bar": "5.0.0-beta.17",
"@ionic/angular": "^4.0.0-beta.5",
"@ionic/ng-toolkit": "^1.0.8",
"@ionic/schematics-angular": "^1.0.5",
"cordova-ios": "4.5.5",
"cordova-plugin-device": "^2.0.2",
"cordova-plugin-ionic-keyboard": "^2.1.2",
"cordova-plugin-ionic-webview": "^2.1.1",
"cordova-plugin-splashscreen": "^5.0.2",
"cordova-plugin-whitelist": "^1.3.3",
"core-js": "^2.5.7",
"rxjs": "^6.3.2",
"zone.js": "^0.8.26"
},
"devDependencies": {
"@angular-devkit/architect": "^0.7.5",
"@angular-devkit/build-angular": "^0.7.5",
"@angular-devkit/core": "^0.7.5",
"@angular-devkit/schematics": "^0.7.5",
"@angular/cli": "^6.1.5",
"@angular/compiler": "^6.1.4",
"@angular/compiler-cli": "^6.1.4",
"@angular/language-service": "^6.1.4",
"@types/jasmine": "^2.8.8",
"@types/jasminewd2": "^2.0.3",
"@types/node": "^10.9.2",
"codelyzer": "^4.4.4",
"jasmine-core": "^3.2.1",
"jasmine-spec-reporter": "^4.2.1",
"karma": "^3.0.0",
"karma-chrome-launcher": "^2.2.0",
"karma-coverage-istanbul-reporter": "^2.0.2",
"karma-jasmine": "^1.1.2",
"karma-jasmine-html-reporter": "^1.3.1",
"protractor": "^5.4.0",
"puppeteer": "^1.7.0",
"ts-node": "^7.0.1",
"tslint": "^5.11.0",
"typescript": "^2.9.2"
},
```

貢獻指南

開啟貢獻指南

研究方向

Reproduce with npm install and ionic cordova build ios --prod, then inspect the rxjs paths shown under node_modules and @ionic/ng-toolkit/node_modules along with the listed package versions. Trace how @ionic/ng-toolkit loads Observable and compare it with the application's rxjs dependency. Done means the iOS/Android build no longer raises the _addParentTeardownLogic error.

由索引模型根據 Issue 內容生成。

評估

技術堆疊
angular, typescript
領域
build-system, cli
Issue 類型
缺陷
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
38/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。