Angular2 QuickStart 拒绝为候选发布版本构建

Posted

技术标签:

【中文标题】Angular2 QuickStart 拒绝为候选发布版本构建【英文标题】:Angular2 QuickStart refuse to build for release candidate 【发布时间】:2016-08-28 09:14:59 【问题描述】:

当候选发布版本结束时,我正在尝试浏览 Angular2 的快速入门。 但是,打字稿编译器会抛出很多我无法弄清楚的错误。

https://angular.io/guide/quickstart

首先有很多这样的行。 node_modules/@angular/core/src/application_ref.d.ts(39,88):错误 TS2304:找不到名称“Promise”。 node_modules/@angular/core/src/application_ref.d.ts(99,42):错误 TS2304:找不到名称“Promise”。

然后这个... npm 错误! Windows_NT 6.1.7601 npm 错误! argv "C:\Program Files (x86)\nodejs\\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\bin\npm-cli.js" "run" "tsc" npm 错误!节点 v0.12.2 npm 错误! npm v2.7.4 npm 错误!代码生命周期 npm 错误! angular2-quickstart@1.0.0 tsc:tsc npm 错误!退出状态 2 npm 错误! npm 错误!在 angular2-quickstart@1.0.0 tsc 脚本“tsc”处失败。 npm 错误!这很可能是 angular2-quickstart 包的问题, npm 错误!不是 npm 本身。 npm 错误!告诉作者这在您的系统上失败: npm 错误! tsc npm 错误!您可以通过以下方式获取他们的信息: npm 错误! npm 所有者 ls angular2-quickstart npm 错误!上面可能还有额外的日志输出。

npm 错误!请在任何支持请求中包含以下文件: npm 错误! C:\Development\Angular2RCQuickstart\npm-debug.log

有谁知道怎么回事?

【问题讨论】:

在 beta 版本中,这已通过 ///<reference path="node_modules/angular2/typings/browser.d.ts"/> 修复,但使打字模块化并为 ES6 删除打字,所以看起来 【参考方案1】:

简单的脏修复

将 Typings 文件夹从 Angular 2 beta 17 复制到 @angular 项目中,以便您的***组件中的 ///<reference path="node_modules/angular2/typings/browser.d.ts"/> 再次工作

彻底修复

您必须手动安装 ES6 承诺和 ES6 集合的类型,typings install es6-promise 使用 --ambient 标志用于 tsd(已弃用)类型。

【讨论】:

我在 angular2-in-memory-web-api 项目中找到了文件 browser.d.ts 并添加了这一行,以使其工作。我不确定什么是最好的选择。 ///<reference path="../node_modules/angular2-in-memory-web-api/typings/browser.d.ts"/>

以上是关于Angular2 QuickStart 拒绝为候选发布版本构建的主要内容,如果未能解决你的问题,请参考以下文章

Angular2 内置指令 NgFor 和 NgIf 详解

角度 2 - npm 错误

GitVersion:Octopus Deploy 在 Nuget 包版本上拒绝了多个候选版本

[angular2/4/8]用ng new创建项目卡住的解决办法

Angular2 和 TSD 的“重复标识符”错误

如何使用 NPM 安装 Angular 2?