mongoose DeprecationWarning:`punycode`模块已弃用

toe95027  于 9个月前  发布在  Go
关注(0)|答案(1)|浏览(1003)

vs code terminal showing deprecation warning(node:22063)[DEP 0040]弃用警告:punycode模块已弃用。请使用用户态替代。(使用node --trace-deprecation ...显示创建警告的位置)
这就是问题所在。我的操作系统是ubuntu 22.04。当我试图使用mongoose的数据库时,问题就出现了。punycode可以在我的package-lock.json文件中找到。我自己没有使用它,它是随node一起提供的。
我的节点版本是v21.0.0,我把它降级到v20.9.0,然后v18.18.0仍然有警告。我安装了userland模块,但什么也没有发生。
我理解的问题是punycode已经过时了,需要使用用户态的替代punycode.js。但我不知道如何使之成为可能。

dm7nw8vv

dm7nw8vv1#

这就是我如何解决这个弃用警告:
以下是一个可能会有所帮助的解决方法:
1.转到您的node_modules目录。
1.找到tr 46目录。
1.打开tr 46目录下的index.js文件。
1.将当前的require行替换为此行:
const punycode = require(“punycode/”);
但是如果你重新安装npm包,或者更新它们,这个修正将会丢失。但是,警告消失了。
PS:以防万一,我使用node v21.5.0

相关问题