M1 MacでCannot find module…fibersのエラー対処から、Node.jsモジュールエラー時に最低限確認しておきたいことを知る

M1 MacでCannot find module...fibersのエラー対処から、 モジュールエラー時に最低限確認しておきたいことを知る

M1 Macに限った話ではないと思うのですが、npmやらyarnやらで色々と動かそうとして「Cannot find module…fibers」というエラーが出てしまった時の対処法について記録として残しておきたいと思います!

なお、僕が最初にエラーに遭遇したのは以下の状況の時でした。

  • 使用PC・・・M1 Mac mini
  • Node.jsのバージョン・・・16系
  • fibersのバージョン・・・5系

結論・2021年8月時点でまだfibersはNode.js16 系に対応していない

結論からいうと、まだ2021年8月時点でfibersはNode.js16系に対応していないようです。

package/fibers">

npmのfibersの情報ページの「supported platforms」の部分を確認してみると、12から14系のNode.jsは対応しているしている」と書いてあり、それ以前のNode.jsのバージョンの場合は、これこれこうしてねという内容が記載されていました。

つまりNode.js15以降のバージョンについては未言及なので、対応がなされていないと判断してよさそうです。

実際、16系のNode.jsにバージョンをあげて色々環境設定をしていた時に、今回の「Cannot find module…fibers」のエラーが出てきました。

Node.jsモジュール系のエラーについてはバージョン対応を確認するためにnpmのページなど一次情報に近い情報を追うようにしよう

今回のことで改めて思ったのですが、一次情報をしっかりと追うことは大事だなーと思いました。

fibersなどのNode.jsモジュールも結局は特定の言語を使って作られているものですが、言語自体のバージョンが変わってくれば、書き方や文法にも変化が及ぶことはいうまでもありません。

そうなると元々Node.jsモジュール作成時に使用していた文法が使えなくなっている。。。それがゆえにNode.jsモジュールのエラーが発生してしまうこともあると思います。

https://www.npmjs.com/

ざっと思いついたNode.jsモジュールをnpmのページ内で調べてみると、バージョンサポートについての言及がなされているNode.jsモジュールがほとんどでした。

そういったことからも、Node.jsモジュール系のエラーが起きた場合、まずNode.jsのバージョンがしっかりとサポートされているかどうかを確認する癖付けをすると良いなと、改めて思いました。

その上でNode.jsモジュールのバージョンを下げるのか、Node.jsのバージョンを下げるのか、判断していくとよさそうです。

まとめ

ということで今回は、「M1 MacでCannot find module…fibersのエラー対処から、モジュールエラー時に最低限確認しておきたいことを知る」という内容でブログをお送りさせていただきました!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする