Angular ncu-u命令的具体功能是什么?

Angular ncu-u命令的具体功能是什么?,angular,npm,Angular,Npm,我一直在尝试将VisualStudio中的angular项目更新为angular的特定版本 我一直在关注,我做了一些不同的事情,因为在本教程中,我得到了最新的angular版本,我特别想要angular的版本6 为此,我运行了npm安装-g@angular/cli@6.2.9代替教程1 npm安装-g npm检查更新 在我运行了ncu-u命令之后,就像教程一样 最后,我得到了版本7的package.json,这不是我想要的 我知道ncu意味着npm检查更新,并且熟悉正在全球安装的-g。ncu-u

我一直在尝试将VisualStudio中的angular项目更新为angular的特定版本

我一直在关注,我做了一些不同的事情,因为在本教程中,我得到了最新的angular版本,我特别想要angular的版本6

为此,我运行了npm安装-g@angular/cli@6.2.9代替教程1 npm安装-g npm检查更新

在我运行了ncu-u命令之后,就像教程一样

最后,我得到了版本7的package.json,这不是我想要的

我知道ncu意味着npm检查更新,并且熟悉正在全球安装的-g。ncu-u到底做什么,它是更新的吗

所以它忽略了我的6版本,还是最后一个版本

我在这里该怎么办?我希望看到我的包json上的更改,但是对于6而不是7,但是这个命令对7执行

就像教程中的图像一样,您可以在命令行/PowerShell中看到之前和之后,正如教程中所说,我在admin中使用了PowerShell

我试过用这个

这仍然让我想到了版本7。。。而不是我在下拉列表中选择的6.1。 见图片

还有我的package.json

如ncu包装中所述

ncu-u将package.json依赖项升级到最新版本,忽略指定的版本

npm检查更新维护您现有的语义版本控制 策略,即将express:^4.0.0升级为express: ^5.0.0

它只修改package.json文件。运行npm安装以更新 您已安装的软件包和package-lock.json

运行ncu-u后,可能会出现另一个错误,如下所示:

项目依赖关系树可能有问题。它是 可能不是CreateReact应用程序中的错误,而是需要修复的东西 在当地

Create react App提供的react脚本包需要 依赖关系:

巴贝尔埃斯林:10.0.1

不要尝试手动安装:您的软件包管理器会这样做 自动地然而,巴别尔·埃斯林特的另一个版本被采用了 在树的较高位置检测到:

..ClientApp\node\u模块\babel eslint 版本:10.0.2

对于初学者来说,node.js中的依赖地狱相当令人困惑,当修复一个错误时,你会得到另一个错误,还有另一个错误等等

但是当你开始仔细阅读每一个错误和提示时,你很快就会知道问题是什么以及如何解决它

那么执行之后的错误是什么呢

ncu -u 
说明依赖性问题,即您的package.json现在包含最新版本,而某些包可能还依赖于某些包,但不依赖于最新版本

例如,目前@3.0.1的react脚本包的最新版本取决于@10.0.1的babel eslint

但目前最新的babel eslint已经是@10.0.2

ncu-u命令将最新的babel文件放入package.json文件中-eslint@10.0.2.

要解决此问题,您需要按照完整错误文本(更长)中提到的步骤进行操作,或者手动将babel eslint版本降级为10.0.1

 npm i babel-eslint@10.0.1
列出引用冲突包的其他包可能会很有用

npm ls [conflicting_package]

npm ls babel-eslint

+-- babel-eslint@10.0.2     - explicit dependency in your package.json on babel-eslint.
`-- react-scripts@3.0.1     - explicit dependency in your package.json on react-scripts.   
  `-- babel-eslint@10.0.1   - implicit dependency with different version

我一直在尝试将visual studio中的angular项目更新为angular的特定版本。=>在这种情况下,你应该遵循官方的指示。遗憾的是,本指南仍然从5.2更新到7。。。即使我在下拉列表中选择了6.1,看到了吗image@AnaSequeira你看过吗?该软件包的升级算法似乎也在这一链接中得到了解释。我认为实现您想要的功能的最佳方法是npm删除@angular/cli,然后npm安装@angular/cli@... 通过这种方式,它将在声明需要的版本中提取依赖项。稍后简单的npm update命令会将项目中的所有DEP更新为最新的补丁和次要版本,不会发生破坏性更改。npm检查更新通常与npx npm检查更新-u&&npm安装一起使用,以将所有依赖项更新为其最新的[主要/次要/修补程序]版本。