【问题标题】:Can't upgrade to Angular4无法升级到 Angular4
【发布时间】:2017-10-18 16:18:41
【问题描述】:

是的,我知道已经有成千上万个类似的问题 - 不,没有一个答案对我有用。很久以前,我在升级 Angular 时遇到了问题,所以决定忽略新的更新。

一开始我使用的是“标准”升级命令: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 然而,这导致了以下错误(最后有很多警告):

+-- @angular/animations@4.1.3
+-- @angular/common@4.1.3
+-- UNMET PEER DEPENDENCY @angular/compiler@4.1.3
+-- @angular/compiler-cli@4.1.3  invalid
| +-- @angular/tsc-wrapped@4.1.3
| | `-- tsickle@0.21.6
| `-- reflect-metadata@0.1.10
+-- UNMET PEER DEPENDENCY @angular/core@4.1.3
+-- @angular/forms@4.1.3
+-- @angular/http@4.1.3
+-- @angular/platform-browser@4.1.3
+-- @angular/platform-browser-dynamic@4.1.3
+-- @angular/platform-server@4.1.3
| +-- parse5@3.0.2
| `-- xhr2@0.1.4
+-- @angular/router@4.1.3
+-- angular-cli@1.0.0-beta.24
| +-- @angular-cli/ast-tools@1.0.11
| | `-- typescript@2.0.10
| +-- UNMET PEER DEPENDENCY @angular/compiler@2.4.10
| +-- UNMET PEER DEPENDENCY @angular/compiler-cli@2.4.10
| | `-- @angular/tsc-wrapped@0.5.2
| +-- UNMET PEER DEPENDENCY @angular/core@2.4.10
| `-- typescript@2.0.10
+-- typescript@2.3.2  invalid
`-- UNMET PEER DEPENDENCY zone.js@0.7.4

好吧,没什么大不了的,谷歌快速搜索告诉我(再次)简单地安装每个未满足的对等依赖项。问题:无论我尝试安装 哪些 未满足的对等依赖项,我都会收到未满足的对等依赖项错误。示例:第一个命令告诉我 zone.js 依赖项不满足。所以我快速运行npm install zone.js@0.7.4,并收到带有一些未满足的依赖项的错误消息,例如包括@angular/core 等包,当我尝试安装它们时,告诉我未满足的依赖项中有zone.js .

基本上:依赖项似乎相互依赖,我无法安装它们中的任何一个。我的 package.json 已正确更新,所有软件包版本都显示为应有的状态,但我无法运行我的项目,因为未安装软件包。

我还没有尝试过的唯一解决方案是完全重新安装 Angular - 如果可能的话,我想避免这种情况。

因此,考虑到有关 package.json 的任何内容都不起作用(删除、删除版本,...)并且我无法安装显示为未满足的依赖项,我应该如何正确升级 Angular?

【问题讨论】:

    标签: json node.js angular packages


    【解决方案1】:

    我遇到了类似的循环包依赖问题,所以我感受到了你的痛苦。我建议尝试一下 yarn https://yarnpkg.com/en/,它对我有很大帮助。

    1. 安装纱线https://yarnpkg.com/en/docs/install
    2. 删除项目中的 node_modules 文件夹
    3. 在与您的 package.json 相同的文件夹中运行“yarn”。这将安装所有旧版本的软件包,包括 Angular 2。
    4. 然后运行“纱线升级”。这应该会安装所有软件包的最新版本,包括 Angular 4,以及正确的依赖项。

    【讨论】:

    • 非常感谢您的回答。我现在要试试这个,我会在这里评论!
    • 奇怪,我尝试这样做,然后我得到了一些错误,我必须在 angular-cli 中。然后我用我在网上找到的命令更新了我的 devDependencies,然后被告知我的 environmentSource 条目没有找到。修复了这个问题,现在我得到了我的 AppModule 不是 NgModule 和一些复杂的东西之后的错误。你觉得我应该怎么做?
    • 没关系,我通过删除并重新安装 node_modules 让它工作了!
    • 很高兴能帮上忙!
    猜你喜欢
    • 1970-01-01
    • 2017-08-23
    • 2017-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-14
    • 2016-03-31
    • 2015-07-01
    相关资源
    最近更新 更多