Angular CLI生成:无法读取属性';getSourceFile';未定义的

Angular CLI生成:无法读取属性';getSourceFile';未定义的,angular,angular-cli,Angular,Angular Cli,我正试图让Angular CLI为现有的(相当大的)Angular 2项目工作。我从以下步骤开始,并运行了Hello World项目 之后,我一直在尝试将现有项目复制到CLI项目中,并构建它。在修复了很多错误之后,当我执行“ng serve”或“ng build”命令时,只剩下一个错误: 无法读取未定义的属性“getSourceFile” 我发现建议在中替换WebPack的_resolve()函数 node_modules@ngtools\webpack\src\compiler_host.js

我正试图让Angular CLI为现有的(相当大的)Angular 2项目工作。我从以下步骤开始,并运行了Hello World项目

之后,我一直在尝试将现有项目复制到CLI项目中,并构建它。在修复了很多错误之后,当我执行“ng serve”或“ng build”命令时,只剩下一个错误:

无法读取未定义的属性“getSourceFile”

我发现建议在中替换WebPack的_resolve()函数

node_modules@ngtools\webpack\src\compiler_host.js
我将其替换为本地NPM的Angular CLI和全局CLI: [用户]\AppData\Roaming\npm\node\u modules\@angular\cli\node\u modules\@ngtools\webpack\src\compiler\u host.js

我仍然得到错误

我注意到这里的WebPack版本是1.3.0,而NPM中当前可用的版本是1.4.1。它还说,我全球安装的Angular CLI是“1.0.0”,而最新的NPM显示为1.0.0-beta-28.3

有人能解释1.0.0是最新版本,还是1.0.0-beta-28.3?为什么1.0.0根本没有出现在NPM中,但它似乎安装在我的计算机上


最重要的是,有什么办法解决这个错误吗?

我最终通过将npm中的TypeScript更新为2.3.x解决了这个问题。我相信以前我使用的是2.0.x,Angular现在使用的是2.1.x,希望使用该版本或更高版本


然后,我通过确保安装的Angular的版本与CLI编译器的版本相匹配,解决了另外一个(同样神秘的)错误。(我当时在Angular 2.x上,需要升级到4.x)

我最终解决了这个问题,将npm中的TypeScript更新为2.3.x。我相信以前我使用的是2.0.x,Angular现在使用的是2.1.x,希望使用该版本或更高版本


然后,我通过确保安装的Angular的版本与CLI编译器的版本相匹配,解决了另外一个(同样神秘的)错误。(我在Angular 2.x上,需要升级到4.x)

我从cmd重新安装了Angular/cli,错误得到解决

注:
类似于:
npm install-g@angular/cli

我从cmd重新安装了angular/cli,错误得到了解决

注:
就像这样:
npm install-g@angular/cli

我在启动ng serve时遇到了相同的错误,我没有等待webpack编译并运行 我能想到的一个原因是网页包没有编译所有这些模块,在它出现之前,我通过点击index.html启动了这些组件,这就是它失败的原因

但当我用ng serve重新启动时,我等待webpack:编译成功。在终端上发送消息,然后转到
它工作得很好。希望这能有所帮助。

当我开始ng服务时,我也遇到了同样的错误,我没有等待webpack编译并运行 我能想到的一个原因是网页包没有编译所有这些模块,在它出现之前,我通过点击index.html启动了这些组件,这就是它失败的原因

但当我用ng serve重新启动时,我等待webpack:编译成功。在终端上发送消息,然后转到
它工作得很好。希望这能有所帮助。

我也遇到了同样的错误,花了大约1个小时的时间想知道发生了什么。最后,我只是停止了它,并再次像那样运行它-Ctrl+F5和npm开始,它的工作,因为它从来没有被打破。。。到目前为止,我注意到Angular 4中的许多问题都可以通过停止(Ctrl+F5)/start(npm开始)来解决使用npm rebuild重建软件包删除所有node_模块,然后使用npm install重新安装它们如果这些建议都不起作用,你可以开始在google中挖掘:)

我遇到了同样的错误,花了大约1个小时的时间想知道发生了什么。最后,我只是停止了它,并再次像那样运行它-Ctrl+F5和npm开始,它的工作,因为它从来没有被打破。。。到目前为止,我注意到Angular 4中的许多问题都可以通过停止(Ctrl+F5)/start(npm开始)来解决使用npm rebuild重建软件包删除所有节点单元模块,然后使用npm install重新安装它们如果这些建议都不起作用,您可以开始在google中挖掘:)

我收到了相同的错误

我只需关闭现有的Angular CLI命令提示符并重新运行
ng发球

在一个新的命令提示符下。

我得到了相同的错误

我只需关闭现有的Angular CLI命令提示符并重新运行
ng发球

在新的命令提示符下。

我通过从模块中删除意外出现的已删除组件引用来解决此问题。

我通过从模块中删除意外出现的已删除组件引用来解决此问题。

1.0.0肯定是最新版本。它使用Webpack2+。谢谢Tatsuyuki。知道为什么在执行“npm view angular cli版本”时1.0.0没有出现吗?还有,你知道为什么用Webpack1.3.0代替1.4.1吗?如何更新我的“全局安装”Angular CLI以使用更新版本的网页包?Angular CLI已重命名为
@Angular/CLI
,您应该尝试通过
npm install-g@Angular>进行安装/cli@latest
,通过
npm view@angular/cli version
ng-v
查看其版本信息。1.0.0肯定是最新版本。它使用Webpack2+。谢谢Tatsuyuki。知道为什么在执行“npm view angular cli版本”时1.0.0没有出现吗?还有,你知道为什么用Webpack1.3.0代替1.4.1吗?如何更新我的“全局安装”Angular CLI以使用更新版本的网页包?Angular CLI已重命名为
@Angular/CLI
,您应该尝试通过
npm install-g@Angular>进行安装/cli@latest
,并通过
npm view@angul查看其版本信息