我一直在尝试将 Visual Studio 中的 Angular 项目更新为特定版本的 Angular。
我正在遵循本教程,并且做了一些不同的事情,因为通过本教程,我获得了现有的最新 Angular 版本,并且我特别想要 Angular 的版本 6。
为此,我运行了npm install -g @angular/cli@6.2.9而不是教程一 ( npm install -g npm-check-updates)
无论如何,我运行ncu -u命令后,就像教程一样。
最后我得到了版本 7 的 package.json,这不是我想要的。
我知道这ncu意味着npm-check-updates,并且熟悉-g它正在全球安装。到底是ncu -u做什么的,是更新吗?
那么它会忽略我的 6 版本并继续使用最后一个版本吗?
我应该在这里做什么?我想查看我的包 json 的更改,但针对 6 而不是 7,但此命令针对 7 执行此操作。
就像教程中的图像一样,您可以在命令行/PowerShell 中看到之前和之后的情况(正如教程所述,我在管理中使用了 PowerShell)。
我尝试使用这个 https://update.angular.io/
这仍然引导我使用版本 7...而不是我在下拉列表中选择的 6.1。看图片
Art*_*tiy 11
正如 ncu 包描述中所述
ncu -u将 package.json 依赖项升级到最新版本,忽略指定版本。
npm-check-updates 维护您现有的语义版本控制策略,即将 "express": "^4.0.0" 升级为 "express": "^5.0.0"。
它仅修改您的 package.json 文件。运行 npm install 来更新已安装的软件包和 package-lock.json。
运行 ncu -u 后,您可能会收到另一个错误,如下所示:
项目依赖树可能有问题。这可能不是 Create React App 中的错误,而是您需要在本地修复的问题。
Create React App 提供的react-scripts 包需要依赖:
“babel-eslint”:“10.0.1”
不要尝试手动安装它:您的包管理器会自动安装。然而,在树的更高层检测到了不同版本的 babel-eslint:
..ClientApp\node_modules\babel-eslint(版本:10.0.2)
对于初学者来说,node.js 中的依赖地狱是相当令人困惑的事情,当修复一个错误时,你会得到另一个错误,然后又出现另一个错误,等等。
但是,当您开始仔细阅读每个错误和提示时,您很快就会知道问题是什么以及如何解决它。
所以执行后报错
ncu -u
Run Code Online (Sandbox Code Playgroud)
说明依赖关系问题,即您的 package.json 现在包含最新版本,而某些包可能还依赖于某些包,但不依赖于最新版本。
例如最新版本的react-scripts包(目前@3.0.1依赖于@10.0.1的babel-eslint)
但目前最新的 babel-eslint 已经是@10.0.2。
ncu -u 命令将最新的 babel-eslint@10.0.2 放入 package.json 文件中。
要解决此问题,您需要按照完整错误文本(较长)中提到的步骤进行操作,或者手动将 babel-eslint 版本降级到“10.0.1”。
npm i babel-eslint@10.0.1
Run Code Online (Sandbox Code Playgroud)
您可能会发现列出引用冲突包的其他包很有用
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13655 次 |
| 最近记录: |