TypeError:无法读取属性'标记'未定义的

时间:2018-03-28 22:00:04

标签: angular typescript ionic-framework

克隆回购后,npm install&& ionic cordova build android --prod向我显示以下错误。

TypeError:无法读取属性'标记'未定义的         at checkUnreachable(F:\ Works \ Projects \ ionic-bokfinder \ node_modules \ typescript \ lib \ typescript.js:24905:31)         在bindChildrenWorker(F:\ Works \ Projects \ ionic-bokfinder \ node_modules \ typescript \ lib \ typescript.js:23111:17)         在bindChildren(F:\ Works \ Projects \ ionic-bokfinder \ node_modules \ typescript \ lib \ typescript.js:23055:17)         at bind(F:\ Works \ Projects \ ionic-bokfinder \ node_modules \ typescript \ lib \ typescript.js:24319:21)         在bindSourceFile

我确信之前没有遇到任何问题。这是我的系统信息和package.json。

  

系统:

    Node : v8.10.0
    npm  : 5.6.0
    OS   : Windows 10
     

的package.json:

"dependencies": {
    "@angular/common": "5.0.3",
    "@angular/compiler": "5.0.3",
    "@angular/compiler-cli": "5.0.3",
    "@angular/core": "5.0.3",
    "@angular/forms": "5.0.3",
    "@angular/http": "5.0.3",
    "@angular/platform-browser": "5.0.3",
    "@angular/platform-browser-dynamic": "5.0.3",
    "@ionic-native/core": "^4.5.2",
    "@ionic-native/facebook": "^4.5.2",
    "@ionic-native/firebase": "^4.5.2",
    "@ionic-native/in-app-browser": "^4.5.2",
    "@ionic-native/in-app-purchase": "^4.5.2",
    "@ionic-native/intercom": "^4.5.2",
    "@ionic-native/social-sharing": "^4.5.2",
    "@ionic-native/splash-screen": "4.4.0",
    "@ionic-native/status-bar": "4.4.0",
    "@ionic/storage": "2.1.3",
    "angularfire2": "^5.0.0-rc.6",
    "firebase": "^4.12.0",
    "ionic-angular": "3.9.2",
    "ionicons": "3.0.0",
    "raven-js": "^3.17.0",
    "rxjs": "5.5.2",
    "sw-toolbox": "3.6.0",
    "zone.js": "^0.8.18"
  },
  "devDependencies": {
    "@angular/cli": "^1.7.3",
    "@ionic/app-scripts": "^3.1.8",
    "@types/jasmine": "2.8.4",
    "@types/node": "9.3.0",
    "html-loader": "0.5.5",
    "istanbul-instrumenter-loader": "3.0.0",
    "jasmine": "2.9.0",
    "jasmine-spec-reporter": "4.2.1",
    "karma": "2.0.0",
    "karma-chrome-launcher": "2.2.0",
    "karma-coverage-istanbul-reporter": "1.3.3",
    "karma-jasmine": "1.1.1",
    "karma-jasmine-html-reporter": "0.2.2",
    "karma-sourcemap-loader": "0.3.7",
    "karma-webpack": "2.0.9",
    "protractor": "5.2.2",
    "ts-loader": "3.2.0",
    "ts-node": "4.1.0",
    "tslint": "5.9.1",
    "typescript": "2.4.2"
  },

我猜这个问题与@ionic/app-scripts issue有关。

2 个答案:

答案 0 :(得分:8)

删除@angular/cli应该适合您

如果没有,请将Typescript版本更改为~2.6.2

@angular/cli 1.7.3仅适用于Typescript ~2.6.2

答案 1 :(得分:0)

我正在使用角度5和离子v3。对我来说,这些变化是:

"@types/node": "^9.6.55",
"typescript": "3.7.4",
"@ionic/app-scripts": "3.2.3",

如果您使用的是@angular/cli@angular-devkit,在我的情况下,为了正确地使用--prod标签,我必须将其删除。

请确保还删除了node_modules并先执行npm cache clean -f,然后再执行npm i(也许还可以删除package-lock.json)