気がついたら、yarnコマンド実行時に以下のエラーが出てきました。
(node:1512) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
(Use node --trace-deprecation ... to show where the warning was created)
対処法を備忘録として残しておくので、同じエラーでお困りの方の助けになれば幸いです。
ERROR:[DEP0040] DeprecationWarning: The punycode module is deprecated.の解決法
結論、nodeのバージョンをv20に下げることで解消します。
参照先は以下になります。
https://github.com/vasyas/charger-simulator/issues/9
なにやらyarnとnodev21によるものらしいで、nodeのバージョンをv20に下げれば一旦はエラーが表示されなくなり解消します。
このエラーの原因は?
現状原因はよくわかっていないぽいです。
yarnのGitHubのissueに「修正された」みたいなことが書かれています。
参照URL https://github.com/yarnpkg/yarn/issues/9005
ただ、個人で試したのとIssueに記載されている通り、yarnのv1.22.21にアップデートしてもまだ同じエラーが出現します。
nodeのバージョンをv20に下げたくない場合
他のパッケージの関係等でnodeのバージョンを下げたくない場合があるかと思います。
そんな時は、一旦このエラーは無視でも良いかなと思います。
自分が試した限りだとGatsbyプロジェクトでこのエラーが出ていてもビルドしてデプロイまで行えて、サイト自体も問題なく動いています。
あまり良くないかもしれないですが、nodeのバージョンが下げられない場合は取り急ぎはこの対応で良いかと思います。
The punycode module is deprecated.の解消法:まとめ
今回はERROR:[DEP0040] DeprecationWarning: The punycode module is deprecated.
のエラーの解消法について解説しました。
特に「プログラムが動かなくなる!」といった深刻なものでもなさそうなので、最悪放置でも良いかなと思います。
が、なんか気持ち悪いので、nodeのバージョンが下げられる方は下げて対応しておきましょう。