为啥我不能将第 11 个角度更新为第 12 个?

Posted

技术标签:

【中文标题】为啥我不能将第 11 个角度更新为第 12 个?【英文标题】:Why can't I update the 11th angular to the 12th?为什么我不能将第 11 个角度更新为第 12 个? 【发布时间】:2021-12-23 18:58:42 【问题描述】:

update.angular.io 说输入以下命令

npx @angular/cli@12 update @angular/core@12 @angular/cli@12

但我收到以下错误

npm ERR! cb.apply is not a function
npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\acer\AppData\Roaming\npm-cache\_logs\2021-11-11T08_51_54_023Z-debug.log
Install for [ '@angular/cli@12' ] failed with code 1

在网上搜索后,我找到了从 ..\AppData\Roaming 中删除 npm 的解决方案

这个解决方案没有帮助,错误的原因可能是什么?我也尝试单独更新包,但也没有用,难道是我有yarn,没有npn?

请帮忙

来自日志

0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\work\\crm\\node_modules\\npx\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install',
1 verbose cli   '@angular/cli@12',
1 verbose cli   '--global',
1 verbose cli   '--prefix',
1 verbose cli   'C:\\Users\\acer\\AppData\\Roaming\\npm-cache\\_npx\\12492',
1 verbose cli   '--loglevel',
1 verbose cli   'error',
1 verbose cli   '--json'
1 verbose cli ]
2 info using npm@5.1.0
3 info using node@v14.15.0
4 verbose npm-session 931aa2830483b7e5
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 http fetch GET 200 http://npm.my-site.com:2222/@angular%2fcli 781ms
8 silly pacote range manifest for @angular/cli@12 fetched in 905ms
9 verbose stack TypeError: cb.apply is not a function
9 verbose stack     at C:\work\crm\node_modules\npx\node_modules\npm\node_modules\graceful-fs\polyfills.js:287:18
9 verbose stack     at FSReqCallback.oncomplete (fs.js:184:5)
10 verbose cwd C:\work\crm
11 verbose Windows_NT 10.0.19041
12 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\work\\crm\\node_modules\\npx\\node_modules\\npm\\bin\\npm-cli.js" "install" "@angular/cli@12" "--global" "--prefix" "C:\\Users\\acer\\AppData\\Roaming\\npm-cache\\_npx\\12492" "--loglevel" "error" "--json"
13 verbose node v14.15.0
14 verbose npm  v5.1.0
15 error cb.apply is not a function
16 verbose exit [ 1, true ]

【问题讨论】:

【参考方案1】:

我通过将节点从 16.x 降级到 14.15 并根据此处的文档删除 package-lock.json 来解决它: https://gist.github.com/LayZeeDK/c822cc812f75bb07b7c55d07ba2719b3

【讨论】:

以上是关于为啥我不能将第 11 个角度更新为第 12 个?的主要内容,如果未能解决你的问题,请参考以下文章

为啥不能更新已经被 MySQL 中另一个事务更新的行

为啥我不能推送这个最新的 Git 子树?

如何从一个笛卡尔系统转换为另一个笛卡尔系统

称3次,找出坏鸡蛋

为啥 HashMap 调整大小以防发生碰撞或最坏的情况

比较 CSV 文件对并为第二个文件中不匹配的单元格着色