包“@angular/cli”不是依赖项
Package '@angular/cli' is not a dependency
当我尝试 运行 命令
时出现以下错误
ng update @angular/cli @angular/core --allow-dirty
Repository is not clean. Update changes will be mixed with pre-existing changes.
Using package manager: 'npm'
Collecting installed dependencies...
Found 28 dependencies.
Package '@angular/cli' is not a dependency.
首先将所有更改提交到存储库,然后尝试执行以下命令。
npm i -g @angular/cli@8.0.0
和
ng update --all --force
请阅读 this github
上的问题
我 运行 进入了同样的 issue/error 消息,因为我已经切换了 b运行 完全不同但还没有 运行 npm install
b运行ch 获取安装的当前版本,此时为 Angular 7. 完成后,我再次 运行 以下以安装最新版本; Angular 8:
ng update @angular/cli @angular/core
这次没有出现错误,升级成功。似乎升级过程正在寻找有效文件以了解它从哪个版本更新,如果 node_modules
文件夹丢失或为空,Angular 无法确定正在更新的内容并将抛出这个错误。这是有道理的,因为 CLI 的行为会根据正在升级的旧版本和正在更新的版本数量而有所不同,因此如果它没有可读取的内容来升级它就无法继续。
在我的例子中,它缺少 node_modules
文件夹。确保 运行 npm i
更新前。
假设您要从 Angular 8.0 升级到 Angular 9.0,请按照以下步骤操作:
1. rm -rf node_modules package-lock.json
2. npm install @angular-devkit/schematics@8
3. ng update @angular/core@8 @angular/cli@8
4. ng update @angular/core@9 @angular/cli@9
如果您在 运行 执行上述命令 运行 npm uninstall affected_package_name 然后 [=32] 时遇到任何对等依赖警告=] 以下步骤:
1. npm i
2. ng update @angular/core@8 @angular/cli@8
3. ng update @angular/core@9 @angular/cli@9
4. npm i compatible_affected_package_name
更新成功后可以运行 npm uninstall @angular-devkit/schematics
注意:始终遵循Angular update Guide。您可以根据自己的情况交换当前版本和目标 angular 版本。在迁移到更高版本之前,请确保您的所有依赖项都可以在您的目标版本上运行。
由于需要 --force
,在 bomb-out 之后得到了这个 运行。
之前的ng update
已经删除了node_modules
。
必须先 reset
分支和 npm ci
在 运行 ng update
之前 --force
。
当我尝试 运行 命令
时出现以下错误ng update @angular/cli @angular/core --allow-dirty
Repository is not clean. Update changes will be mixed with pre-existing changes.
Using package manager: 'npm'
Collecting installed dependencies...
Found 28 dependencies.
Package '@angular/cli' is not a dependency.
首先将所有更改提交到存储库,然后尝试执行以下命令。
npm i -g @angular/cli@8.0.0
和
ng update --all --force
请阅读 this github
上的问题我 运行 进入了同样的 issue/error 消息,因为我已经切换了 b运行 完全不同但还没有 运行 npm install
b运行ch 获取安装的当前版本,此时为 Angular 7. 完成后,我再次 运行 以下以安装最新版本; Angular 8:
ng update @angular/cli @angular/core
这次没有出现错误,升级成功。似乎升级过程正在寻找有效文件以了解它从哪个版本更新,如果 node_modules
文件夹丢失或为空,Angular 无法确定正在更新的内容并将抛出这个错误。这是有道理的,因为 CLI 的行为会根据正在升级的旧版本和正在更新的版本数量而有所不同,因此如果它没有可读取的内容来升级它就无法继续。
在我的例子中,它缺少 node_modules
文件夹。确保 运行 npm i
更新前。
假设您要从 Angular 8.0 升级到 Angular 9.0,请按照以下步骤操作:
1. rm -rf node_modules package-lock.json
2. npm install @angular-devkit/schematics@8
3. ng update @angular/core@8 @angular/cli@8
4. ng update @angular/core@9 @angular/cli@9
如果您在 运行 执行上述命令 运行 npm uninstall affected_package_name 然后 [=32] 时遇到任何对等依赖警告=] 以下步骤:
1. npm i
2. ng update @angular/core@8 @angular/cli@8
3. ng update @angular/core@9 @angular/cli@9
4. npm i compatible_affected_package_name
更新成功后可以运行 npm uninstall @angular-devkit/schematics
注意:始终遵循Angular update Guide。您可以根据自己的情况交换当前版本和目标 angular 版本。在迁移到更高版本之前,请确保您的所有依赖项都可以在您的目标版本上运行。
由于需要 --force
,在 bomb-out 之后得到了这个 运行。
之前的ng update
已经删除了node_modules
。
必须先 reset
分支和 npm ci
在 运行 ng update
之前 --force
。