我的设置
- MacOS = Catalina 10.15.4(最新版本)
- nvm = 0.35.3(最新版本)
- node.js = 12.16.3(最新的 LTS 版本)。安装在 nvm 目录中。
- npm = 6.14.4(最新版本)。安装在 nvm 目录中。
注意:usr/local
内没有全局安装。
我的问题
我使用 npm init -y
创建我的 package.json。这里没有问题。
我使用 npm install --save-dev @babel/core
。这里没有问题。我得到版本 7.9.6。
然后当我使用 npm install --save-dev @babel/cli
我回来了:
npm WARN deprecated chokidar@2.1.8:Chokidar 2 将在节点 v14+ 上中断。升级到 chokidar 3,依赖性减少 15 倍。
npm WARN deprecated fsevents@1.2.13:fsevents 1 将在节点 v14+ 上中断并且可能使用不安全的二进制文件。升级到 fsevents 2。
npm WARN deprecated urix@0.1.0:请参阅 https://github.com/lydell/urix#deprecated
npm WARN deprecated resolve-url@0.2.1: https://github.com/lydell/resolve-url#deprecated
@babel/cli 版本为 7.8.4。
我尝试解决问题
npm install chokidar@3
给我完全相同的警告。
npm install chokidar
后跟 npm install --save-dev @babel/cli
给我完全相同的警告。
npm upgrade chokidar
完全没有给我任何东西。终端只是开始一个新行。
我已经安装了 xcode 的命令行工具(版本 11.4.1 - 最新的非测试版),但问题仍然存在。
我卸载了 node.js 和 npm,然后使用 nvm 重新安装。问题仍然存在。
我曾尝试阅读 www.babeljs.io 上的安装指南和文档,但很多信息似乎已过时和/或自相矛盾。我找不到任何可能讨论该问题的 youtube 视频,因为它们也已过时。 stackoverflow.com 上与此问题稍微相关的所有帖子也已过时。我最大的问题是试图找到不过时的信息。
我很困。我正在努力思考下一步该往哪个方向努力,并尝试弄清楚如何修复这些弃用警告。
非常感谢任何帮助。
最佳答案
从 7.10.3 开始,Babel 需要已弃用的 chokidar 来为 Node 6 提供向后兼容性。
据我所知,Babel 8 将放弃对 Node 6 的支持。 有关此主题的更多信息,请参阅以下 2 个 babel 问题: Babel issue 9981和 Babel issue 10684
关于 urix 和 resolve-url,Babel 源代码树引用了 source-map-resolve@0.5.3,后者又引用了已弃用的 urix 和 resolve-url。
如您帖子中的警告消息所示,链接 resolve-url和 urix解释“解决方案是使您的依赖链更新到 source-map-resolve 版本 0.6.0 或更高版本,或者切换到根本不使用 source-map-resolve 的依赖关系。”然而,您是否热衷于碰碰 Babel 依赖树是另一回事。
然而,弃用并不意味着损坏,因为您使用的是 Node 12.16.3 并且警告状态仅来自 Node 14+ 失败,我的期望是它们仍应在您的场景中按预期执行。
关于npm - `npm install @babel/cli` 表示四个模块为 "WARN deprecated"。我该如何解决这些弃用问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61778247/