-4

我从 angular 2 升级到 angular 4,现在出现错误。我从这里复制了文本, 即

npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

现在当我运行 npm start 时出现此错误请协助

`

product-management@1.0.0 start C:\Users\dp9\Documents\Visual Studio 2015\Projects\NG\NG UI

tsc && 同时 “tsc -w” “lite-server”

node_modules/@types/node/index.d.ts(70,5):错误 TS2403:后续变量声明必须具有相同的类型。变量“main”必须是“any”类型,但这里有“NodeModule”类型。

node_modules/@types/node/index.d.ts(81,5):错误 TS2403:后续变量声明必须具有相同的类型。变量“parent”必须是“any”类型,但这里有“NodeModule”类型。

node_modules/@types/node/index.d.ts(82,5):错误 TS2403:后续变量声明必须具有相同的类型。变量“children”必须是“any[]”类型,但这里有“NodeModule[]”类型。

node_modules/@types/node/index.d.ts(102,6):错误 TS2300:重复标识符“BufferEncoding”。

node_modules/@types/node/index.d.ts(263,18):错误 TS2300:重复标识符“EventEmitter”。

node_modules/@types/node/index.d.ts(371,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“stdout”必须是“WritableStream”类型,但这里有“WriteStream”类型。

node_modules/@types/node/index.d.ts(372,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“stderr”必须是“WritableStream”类型,但这里有“WriteStream”类型。

node_modules/@types/node/index.d.ts(373,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“stdin”必须是“ReadableStream”类型,但这里有“ReadStream”类型。

node_modules/@types/node/index.d.ts(422,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“平台”必须是“字符串”类型,但这里有“平台”类型。

node_modules/@types/node/index.d.ts(580,26):错误 TS2300:重复标识符“缓冲区”。

node_modules/@types/node/index.d.ts(580,50):错误 TS2300:重复标识符“SlowBuffer”。

node_modules/@types/node/index.d.ts(604,22):错误 TS2415:“EventEmitter”类错误地扩展了基类“内部”。属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。

node_modules/@types/node/index.d.ts(624,5):错误 TS2309:无法在具有其他导出元素的模块中使用导出分配。

node_modules/@types/node/index.d.ts(769,18):错误 TS2300:重复标识符“代理”。

node_modules/@types/node/index.d.ts(824,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'addressType' 必须是 'string' 类型,但这里有类型 'number | “udp4” | “udp6”'。

node_modules/@types/node/index.d.ts(827,18):错误 TS2300:重复标识符“工人”。

node_modules/@types/node/index.d.ts(1510,17):错误 TS2300:重复标识符“CompleterResult”。

node_modules/@types/node/index.d.ts(1547,18):错误 TS2300:重复标识符“脚本”。

node_modules/@types/node/index.d.ts(2911,18):错误 TS2300:重复标识符“TLSSocket”。

node_modules/@types/node/index.d.ts(3108,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“pfx”必须是“any”类型,但这里有“string |”类型。缓冲[]'。

node_modules/@types/node/index.d.ts(3109,9):错误 TS2403:后续变量声明必须具有相同的类型。变量'key'必须是'any'类型,但这里有'string | 任何[] | 字符串[] | 缓冲'。

node_modules/@types/node/index.d.ts(3111,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'cert' 必须是 'any' 类型,但这里有类型 'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3112,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'ca' 必须是 'any' 类型,但这里有类型 'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3113,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'crl' 必须是 'any' 类型,但这里有类型 'string | 细绳[]'。

node_modules/@types/node/index.d.ts(3115,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“honorCipherOrder”必须是“any”类型,但这里有“boolean”类型。

node_modules/@types/node/index.d.ts(3118,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'NPNProtocols' 必须是 'any' 类型,但这里有类型 'string[] | 缓冲'。

node_modules/@types/node/index.d.ts(3135,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'key' 必须是 'string | Buffer',但这里有类型'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3137,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'cert' 的类型必须为 'string | Buffer',但这里有类型'string | 字符串[] | 缓冲区 | 缓冲[]'。

node_modules/@types/node/index.d.ts(3138,9):错误 TS2403:后续变量声明必须具有相同的类型。变量 'ca' 的类型必须为 '(string | Buffer)[]',但这里的类型为 'string | 缓冲区 | (字符串|缓冲区)[]'。

node_modules/@types/node/index.d.ts(3377,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“padding”必须是“any”类型,但这里有“number”类型。

node_modules/@types/node/index.d.ts(3382,9):错误 TS2403:后续变量声明必须具有相同的类型。变量“padding”必须是“any”类型,但这里有“number”类型。

node_modules/@types/node/index.d.ts(3429,22):错误 TS2420:“Readable”类错误地实现了“ReadableStream”接口。属性“暂停”的类型不兼容。类型 '() => Readable' 不可分配给类型 '{ (): ReadableStream; (): 可读流;}'。类型“Readable”不可分配给类型“ReadableStream”。属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。node_modules/@types/node/index.d.ts(3512,22):错误 TS2420:“可写”类错误地实现了“可写流”接口。属性“eventNames”的类型 不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。node_modules/@types/node/index.d.ts(3622,5):错误 TS2309:导出分配不能在具有其他导出元素的模块中使用。

node_modules/@types/node/index.d.ts(3705,5):错误 TS2300:重复标识符“export=”。

node_modules/@types/node/index.d.ts(3727,18):错误 TS2300:重复的标识符“域”。

node_modules/@types/node/index.d.ts(3727,18):错误 TS2420:“域”类错误地实现了接口“NodeJS.Domain”。

属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。

node_modules/@types/node/index.d.ts(4019,5):错误 TS2300:重复标识符“export=”。

typings/globals/node/index.d.ts(78,6):错误 TS2300:重复标识符“BufferEncoding”。

typings/globals/node/index.d.ts(234,18):错误 TS2300:重复的标识符“EventEmitter”。

typings/globals/node/index.d.ts(516,9): 错误 TS2502: 'BuffType' 在其自己的类型注释中被直接或间接引用。

typings/globals/node/index.d.ts(517,9): error TS2502: 'SlowBuffType' 在其自己的类型注释中被直接或间接引用。

typings/globals/node/index.d.ts(518,26):错误 TS2300:重复标识符“缓冲区”。

typings/globals/node/index.d.ts(518,50):错误 TS2300:重复标识符“SlowBuffer”。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(580,22):错误 TS2320:接口“服务器”不能同时扩展类型“事件发射器”和“服务器”。

“EventEmitter”和“Server”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(591,22):错误 TS2320:接口“ServerResponse”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(621,22):错误 TS2320:接口“ClientRequest”不能同时扩展类型“EventEmitter”和“Writable”。

“EventEmitter”和“Writable”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“addListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“emit”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“on”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“once”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“prependListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“prependOnceListener”不相同。

typings/globals/node/index.d.ts(647,22):错误 TS2320:接口“IncomingMessage”不能同时扩展类型“EventEmitter”和“Readable”。

“EventEmitter”和“Readable”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(698,18):错误 TS2300:重复标识符“代理”。

Typings/globals/node/index.d.ts(743,18):错误 TS2300:重复标识符“工人”。

typings/globals/node/index.d.ts(1004,22):错误 TS2300:重复标识符“CompleterResult”。

typings/globals/node/index.d.ts(1044,18):错误 TS2300:重复标识符“脚本”。

typings/globals/node/index.d.ts(1323,22):错误 TS2320:接口“服务器”不能同时扩展类型“套接字”和“事件发射器”。

“Socket”和“EventEmitter”类型的命名属性“removeListener”不相同。

typings/globals/node/index.d.ts(1886,18):错误 TS2300:重复标识符“TLSSocket”。

typings/globals/node/index.d.ts(2188,18):错误 TS2420:“Readable”类错误地实现了“ReadableStream”接口。

属性“暂停”的类型不兼容。类型 '() => Readable' 不可分配给类型 '{ (): ReadableStream; (): 可读流;}'。类型“Readable”不可分配给类型“ReadableStream”。“可读”类型中缺少属性“isPaused”。typings/globals/node/index.d.ts(2211,18):错误 TS2420:“可写”类错误地实现了“可写流”接口。

属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。键入'字符串 | 符号'不可分配给类型'字符串'。类型“符号”不可分配给类型“字符串”。typings/globals/node/index.d.ts(2229,18):错误 TS2420:“Duplex”类错误地实现了接口“ReadWriteStream”。

属性“暂停”的类型不兼容。类型 '() => Duplex' 不可分配给类型 '{ (): ReadWriteStream; (): 读写流; }'。“Duplex”类型不能分配给“ReadWriteStream”类型。“双工”类型中缺少属性“isPaused”。typings/globals/node/index.d.ts(2250,18):错误 TS2420:“Transform”类错误地实现了“ReadWriteStream”接口。

属性“暂停”的类型不兼容。类型 '() => Transform' 不可分配给类型 '{ (): ReadWriteStream; (): 读写流; }'。类型“Transform”不可分配给类型“ReadWriteStream”。“转换”类型中缺少属性“isPaused”。Typings/globals/node/index.d.ts(2343,5):错误 TS2300:重复标识符“export=”。

typings/globals/node/index.d.ts(2365,18):错误 TS2300:重复的标识符“域”。

Typings/globals/node/index.d.ts(2365,18):错误 TS2420:“域”类错误地实现了接口“NodeJS.Domain”。

属性“eventNames”的类型不兼容。类型 '() => (string | symbol)[]' 不可分配给类型 '() => string[]'。类型 '(string | symbol)[]' 不能分配给类型 'string[]'。Typings/globals/node/index.d.ts(2625,5):错误 TS2300:重复标识符“export=”。

`

4

2 回答 2

1

卸载打字。Typescript 类型现在由 npm 在 @types 命名空间下管理:

npm uninstall --save typings

另外,删除typings 子目录。

于 2017-05-20T09:28:19.090 回答
1

要从 Angular 2 更新到 Angular 4,请按照以下步骤操作:

1 - 确保您不使用扩展 OnInit,或将扩展与任何生命周期事件一起使用。而是使用工具<lifecycle event>

2 - 使用将所有依赖项更新到版本 4 和最新的 TypeScript

Mac/Linux

npm install @angular/{animations,common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router}@4.0.0 typescript@latest --save

视窗

 npm install @angular/common@next @angular/compiler@next @angular/compiler-cli@next @angular/core@next @angular/forms@next @angular/http@next @angular/platform-browser@next @angular/platform-browser-dynamic@next @angular/platform-server@next @angular/router@next @angular/animations@next --save

3 - 如果你在你的应用程序中使用动画,你应该从你的 App NgModule 中的@angular/platform-b​​rowser/animations 导入 BrowserAnimationsModule。

4 - 将您的模板标签重命名为 ng-template。

5 - 如果要验证表单,请添加 ngNativeValidate,因为 Angular 4 为所有表单添加了 novalidate 属性


如果您仍然遇到一些问题,请尝试更新nodejs和 Typescript npminstall -g typescript@latest

如果这些都没有帮助,请将您的 Angular CLI 更新到最新版本

npm uninstall -g @angular/cli
npm cache clean
npm install -g @angular/cli@latest

ng new newProject并使用您的逻辑和模板生成一个新的 Angular 4 项目并将其移动到新应用程序。

于 2017-05-20T09:38:16.853 回答