React的npm警告弃用了,如何处理?

7
npm WARN deprecated flatten@1.0.3: flatten is deprecated in favor of utility frameworks such as lodash.
npm WARN deprecated @hapi/topo@3.1.6: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/bourne@1.3.2: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated urix@0.1.0: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated querystring@0.2.1: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated sane@4.1.0: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated chokidar@2.1.8: Chokidar 2 will break on node v14+. Upgrade to chokidar 3 with 15x less dependencies.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated babel-eslint@10.1.0: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated @hapi/address@2.1.4: Moved to 'npm install @sideway/address'
npm WARN deprecated rollup-plugin-babel@4.4.0: This package has been deprecated and is no longer maintained. Please use @rollup/plugin-babel.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
tps://v8.dev/blog/math-random for details.
npm WARN deprecated @hapi/hoek@8.5.1: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/joi@15.1.1: Switch to 'npm install joi'
npm WARN deprecated core-js@2.6.12: core-js@<3.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.

请简化您的代码,以便更容易找到问题。遵循以下准则创建一个最小可重现示例 - Community
我遇到了相同的问题并按照下面的答案操作,但对我没有起作用。这个问题有解决方法吗? - AlexSakai06
4个回答

10

我有过类似的问题。只需使用以下命令来更新npm版本:

npm install -g npm

1
实际上我尝试过这个,但错误仍然相同。 - SUSHANT SHETTY
这并没有解决任何问题。唯一的原因是因为第二个 npm install 不会显示相同的警告,除非您首先删除 package-lock.json(和 node_modules)。 - aercolino

4

这些警告是来自于您在package.json中使用的库。有两种类型的库:

  1. 直接库:您直接列出了它
  2. 传递库:由其他库的使用而安装

所以你要做的是:

运行npm list --depth=3(如果没有找到,请增加深度)并跟踪库的来源,一旦找到它,您有两个选择:

  1. 升级它,在大多数情况下它可以正常工作
  2. 将其删除并使用具有最新版本传递库的另一个库

那么我该如何执行第一步“升级它”?我是在我的package.json中安装它还是更新包的package.json文件? - picklepick

1
  1. 运行 npm ls package_name@version,在你的情况下是第一个包:

    npm ls flatten@1.0.3

  2. 你将得到其安装源代码。类似于以下内容(例如):

     │ │   └─┬ webpack@4.46.0
     │ │     └─┬ node-libs-browser@2.2.1
     │ │       └─┬ url@0.11.0
     │ │         └── flatten@1.0.3
    
  3. 如果它是直接安装的,你可以在https://www.npmjs.com上找到更新的版本。直接在package.json中更新版本,删除node_modules文件夹,并运行npm i

  4. 如果它不是直接安装的,你可以尝试以类似的方式更新父级包,并查看是否包含所需包的更新版本。在package.json中更新父级包的版本后,如果包含过时包的更新版本,终端将不会显示错误消息。

这将解决错误信息。

-4

尝试

npm i -g

或者

删除您当前的 Node 版本并重新安装最新的稳定版本。

这两种方法都应该有效。


这是什么意思? - John Perczyk

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