克隆回购后,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有关。
答案 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)