首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么npm更新axios未能更新,但npm卸载,然后安装可以?

为什么npm更新axios未能更新,但npm卸载,然后安装可以?
EN

Stack Overflow用户
提问于 2022-05-31 03:08:41
回答 1查看 602关注 0票数 0

我使用了"axios": "^0.19.2",运行npm i给出了警告"npm @0.19.2:在V0.21.1.中修复的关键安全漏洞“,所以我运行npm update -S axios来更新它。但它未能更新axios。我运行yarn upgrade axios,但也失败了。

我原以为可能有一个模块需要0.19.2,所以我检查了package-lock.json,我在我的项目中找到了唯一需要axios的模块是pm2,但它需要"axios": "^0.21.0"

代码语言:javascript
复制
"@pm2/js-api": {
  "version": "0.6.7",
  "resolved": "https://registry.npmjs.org/@pm2/js-api/-/js-api-0.6.7.tgz",
  "integrity": "sha512-xxxxxxxx",
  "requires": {
    "async": "^2.6.3",
    "axios": "^0.21.0",
    "debug": "~4.3.1",
    "eventemitter2": "^6.3.1",
    "ws": "^7.0.0"
  },

我不知道为什么npm更新不能更新axios。然后运行npm uninstall axios,然后安装npm install -S axios,然后安装"axios": "^0.27.2"

但为什么?

-更新

为了验证我是否可以重现这个问题,我在https://github.com/qiulang/npm-update-error-demo创建了一个项目

这表明,即使我只有一个依赖项axiosnpm update axios仍然无法更新。顺便说一下,我使用NPM8.x(同时尝试8.5和最新的8.11)

EN

回答 1

Stack Overflow用户

发布于 2022-06-01 06:03:46

当我使用npm 6运行npm update -S axios --loglevel verbose时,我得到了结果

npm动词过时而不更新axios,因为目前处于与其指定的semver匹配的最大版本

如果我使用npm 8运行,甚至会出现404错误。

npm动词审计错误HttpErrorGeneral: 404未找到- POST https://registry.npmmirror.com/-/npm/v1/security/audits/quick

所以我想这会是npm的缺陷吗?突然,我意识到这是由Caret Ranges ^我使用的,因为通常^意味着修补程序和小的更新(大多数人都对此很熟悉),但它只意味着0.X版本的修补程序更新作为国家预防机制文件说

许多作者将0.x版本视为主要的“突破-变化”指标。 当作者可能在0.2.4和0.3.0版本之间进行中断更改时,Caret范围是理想的,这是一种常见的做法。 ..。 ^0.2.3 := >=0.2.3 <0.3.0

顺便说一句,因为很多答案都是给在package.json中,倾斜(~)和插入符号(^)有什么区别?的,所以关于补丁的答案只有^0.x被埋在里面了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72441858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档