如何更新已弃用的警告(Deprecated Warning)

3

我正在尝试学习Node和NPM,使用Express完成一个小项目。当我安装它时,出现了以下错误:

npm WARN deprecated core-js@2.6.10: core-js@<3.0 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.

我知道如果一切正常,就不需要更新所有内容,但我正在努力学习并做出额外的、不必要的努力。
如何只更新core-js?
npm install core-js@^3

将其添加到package.json的依赖项中,然后进行更新。

这是正确的方法吗? 还是最好更新使用它的父包?如果是这样,如何理解哪个包需要更新以及如何更新它? 或者只更新在package-lock.json中列出的模块是否有办法。

谢谢。


你尝试过直接执行 - npm i core-js 吗? - Hughesey
1
很可能您的项目并不直接依赖于 core-js,而是依赖于另一个依赖它的包。添加 core-js 并不能解决这个问题,您需要找出哪个依赖项依赖于过时的 core-js,然后更新它。您可以使用 npm ls 命令来查找相关信息。 - Patrick Hund
2
npm ls core-js,请参阅 https://docs.npmjs.com/cli/ls.html - Patrick Hund
1
据我所知,除了向出版图书馆的作者提交工单或向他们的存储库发送拉取请求以更新依赖项之外,您没有太多选择。 - Patrick Hund
谢谢,这正是我想要确定的。 - vitta
显示剩余2条评论
2个回答

2
你提供了一种更新包的方法。然而,还有几种方法可以更新。
要更新全局包,你可以运行以下命令:
npm update -g <package_name>

要更新一个在你的package.json中(即本地项目)的软件包,运行以下命令:

npm update <package_name>

您可以按照以下方式查看过时的软件包:
npm outdated

你可以再次添加-g选项来检查过时的全局包。
来源:https://docs.npmjs.com/updating-packages-downloaded-from-the-registry 此外,在Linux中,man npm可能会有所帮助。

1
这不是全局包,所以我没有使用-g标志。而且我已经在package.json中更新了所有的依赖项,但似乎最新的更新仍然使用旧版本的core-js。我该如何手动更新package-lock.json中的包? - vitta

1

要将所有软件包更新到新的主版本,请全局安装npm-check-updates软件包:

npm install -g npm-check-updates

这将升级 package.json 文件中的所有版本提示,转换为 dependencies 和 devDependencies,以便 npm 可以安装新的主要版本。

现在您已经准备好运行更新操作:

npm update

或者是 npm install


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接