安装依赖的时候,提示警告,有 38 个依赖过期了。
pnpm add axios@latest
WARN deprecated babel-eslint@7.2.3: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
WARN deprecated @babel/polyfill@7.12.1: 🚨 This package has been deprecated in favor of separate inclusion of a polyfill and regenerator-runtime (when needed). See the @babel/polyfill docs (https://babeljs.io/docs/en/babel-polyfill) for more information.
WARN deprecated vue@2.6.10: Vue 2 has reached EOL and is no longer actively maintained. See https://v2.vuejs.org/eol/ for more details.
WARN 38 deprecated subdependencies found: @babel/plugin-proposal-async-generator-functions@7.20.7, @babel/plugin-proposal-class-properties@7.18.6, @babel/plugin-proposal-json-strings@7.18.6, @babel/plugin-proposal-object-rest-spread@7.20.7, @babel/plugin-proposal-optional-catch-binding@7.18.6, @babel/plugin-proposal-unicode-property-regex@7.18.6, @hapi/address@2.1.4, @hapi/bourne@1.3.2, @hapi/hoek@8.5.1, @hapi/joi@15.1.1, @hapi/topo@3.1.6, acorn-dynamic-import@2.0.2, autoprefixer-loader@3.2.0, babel-eslint@10.1.0, browserslist@1.7.7, chokidar@2.1.8, circular-json@0.3.3, consolidate@0.14.5, consolidate@0.15.1, core-js@2.6.12, eslint-loader@2.2.1, extract-text-webpack-plugin@3.0.2, figgy-pudding@3.5.2, flatten@1.0.3, fsevents@1.2.13, har-validator@5.1.5, html-webpack-plugin@3.2.0, request-promise-native@1.0.9, request@2.88.2, resolve-url@0.2.1, source-map-resolve@0.5.3, source-map-url@0.4.1, stable@0.1.8, svgo@0.7.2, svgo@1.3.2, urix@0.1.0, uuid@3.4.0, webpack-chain@4.12.1
WARN Issues with peer dependencies found
这些依赖不确定新版本是否兼容当前项目,有些 babel 的插件废弃了,有些查看很久没有更新。有没有好的办法解决依赖过期的问题呢。
看你是否有大的升级计划。一般来说
x.y.z
的版本更新中,只要不更新大版本x
就不会有问题。一般很少会在已经部署到生产环境的项目去做升级,最多更新一下修订版本。除非有一些依赖项有严重的BUG才会考虑手动升级或者切换到新的替换包。
很多情况下我们的
package.json
中的各依赖版本也都会有^
通配符,会install
时会安装最大兼容版本。npm版本号及更新规则
比如说OP你的这种情况出现了3个提示:
babel-eslint
以及@babel/polyfill
废弃告警,提示需要变更到新替代包的。可以remove
旧包之后install
新包来手动切换,但是需要注意配置的规则是不是变更。如果没有重大BUG或者你并没有使用新特性需求的话,你也可以不管。Vue@2x
版本进入已经到达终止支持 (EOL) 时间,如果你不准备升级到Vue3,那么就不需要官。我的话会时不时使用 npm-check-updates 来查看更新的依赖列表,手动来选择需要更新的包。
在这个项目的README中,也有关于如何确定依赖项更新的解释 👉 #How dependency updates are determined