`npm install @babel/cli`显示四个模块的"WARN deprecated"警告。我该如何修复这些已弃用的内容?

4

我的设置

  • 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将在node v14+上出现问题。升级到使用15x更少依赖项的chokidar 3。

npm WARN deprecated fsevents@1.2.13:fsevents 1将在node 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-最新非beta版本),问题仍然存在。

我卸载了node.js和npm,然后使用nvm重新安装。问题仍然存在。

我尝试阅读www.babeljs.io上的安装指南和文档,但许多信息似乎已过时和/或自相矛盾。我找不到可能讨论问题的youtube视频,因为它们也过时了。与此问题有关的所有stackoverflow.com上的帖子都已过时。我最大的问题是寻找不过时的信息。

我很困惑。我正在努力思考下一步该怎么做,以尝试找出如何解决这些弃用警告。

任何帮助都将不胜感激。

1个回答

4
截至到Babel7.10.3版本,为了向后兼容Node 6版本,Babel需要使用不再维护的chokidar模块。
据我所知,Babel 8将不再支持Node 6。请参阅以下两个Babel问题以获取有关此主题的更多信息:Babel问题9981Babel问题10684
关于urix和resolve-url,Babel源代码引用了source-map-resolve@0.5.3,而这个版本又引用了不再维护的urix和resolve-url。
如您发布的警告消息所示,链接resolve-urlurix解释道:"解决方案是使您的依赖链更新到source-map-resolve 0.6.0或更高版本,或完全切换到不使用source-map-resolve的依赖项。"但是,是否愿意冒险修改Babel的依赖树另当别论。
"已弃用"并不意味着损坏,在您使用Node 12.16.3且警告消息仅指出在Node 14+版本上会出现错误的情况下,我认为它们应该仍能按预期执行。

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