在将某些Angular软件包(从4升级到5)之后,同事遇到以下问题:
Cannot read property 'write' of undefined
TypeError: Cannot read property 'write' of undefined
at UI.write (C:\Workspace\MyAngularApp\MyAngularApp.Web\node_modules\@angular\cli\ember-cli\lib\ui\index.js:56:23)
at UI.writeLine (C:\Workspace\MyAngularApp\MyAngularApp.Web\node_modules\@angular\cli\ember-cli\lib\ui\index.js:69:8)
at Class.run (C:\Workspace\MyAngularApp\MyAngularApp.Web\node_modules\@angular\cli\tasks\serve.js:237:12)
at check_port_1.checkPort.then.port (C:\Workspace\MyAngularApp\MyAngularApp.Web\node_modules\@angular\cli\commands\serve.js:123:26)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:188:7)
这个问题是无法理解的,因为我没有这个问题,并且在VSTS中构建也很成功:(
这是package.json(从4.3.6升级后):
"dependencies": {
"@angular-devkit/core": "0.6.8",
"@angular/animations": "5.2.9",
"@angular/common": "5.2.9",
"@angular/compiler": "5.2.9",
"@angular/core": "5.2.9",
"@angular/forms": "5.2.9",
"@angular/http": "5.2.9",
"@angular/platform-browser": "5.2.9",
"@angular/platform-browser-dynamic": "5.2.9",
"@angular/router": "5.2.9",
"@ngx-translate/core": "8.0.0",
"@ngx-translate/http-loader": "1.0.2",
"angular-azure-blob-service": "1.0.0",
"angular-sortablejs": "2.0.6",
"angular2-fontawesome": "5.2.1",
"angular2-multiselect-dropdown": "2.4.0",
"bootstrap": "4.1.1",
"copy-webpack-plugin": "4.3.1",
"core-js": "2.5.0",
"font-awesome": "4.7.0",
"jquery": "^3.3.1",
"lightbox2": "2.10.0",
"lodash": "4.17.4",
"moment": "2.20.1",
"ng2-completer": "1.6.1",
"ng5-breadcrumb": "0.0.6",
"ngx-bootstrap": "^3.0.1",
"ngx-chips": "^1.9.2",
"popper.js": "^1.14.3",
"rxjs": "5.5.8",
"sortablejs": "1.6.0",
"tether": "^1.4.4",
"zone.js": "0.8.23"
},
"devDependencies": {
"@angular/cli": "1.7.4",
"@angular/compiler-cli": "^5.2.9",
"@types/jasmine": "2.5.54",
"@types/node": "8.0.25",
"codelyzer": "4.0.2",
"jasmine-core": "2.8.0",
"jasmine-spec-reporter": "4.2.1",
"karma": "1.7.0",
"karma-chrome-launcher": "2.2.0",
"karma-cli": "1.0.1",
"karma-coverage-istanbul-reporter": "1.3.0",
"karma-jasmine": "1.1.0",
"karma-jasmine-html-reporter": "0.2.2",
"protractor": "5.1.2",
"ts-node": "3.3.0",
"tslint": "5.8.0",
"typescript": "~2.8.1"
}
我的同事在尝试安装与我的版本(1.7.4)相同的版本之前,已经在@ angular / cli 6.0.x之前安装了alpha版本,这可能是个线索吗?
环境: @角度/ cli:1.7.4 节点:8.9.4 npm:6.1.0
答案 0 :(得分:11)
发现了:D
我们必须全局卸载@ angular / cli,然后再次安装它:P
使用的命令:
享受:)
为什么不将Angular直接设为6?因为有一些与RxJS相关的重大更改,但是,是的,我们期待将其更新到Angular6。
是的,您说的对@Ploppy;)(使用update.angular.io)
答案 1 :(得分:1)
我和moueidat处于同一位置,并设法使用node-modules文件夹中的angular-cli二进制文件使其工作:
node.exe .\node_modules\@angular\cli\bin\ng serve
答案 2 :(得分:0)
我认为这与最新的@ angular / cli版本有关。检查您的全局版本是否与您的同事不同。
我也遇到了同样的问题,但这是因为我的全局角版本为6.1.1,当我恢复为6.0.0时就可以了。