はじめに
未経験からエンジニアに転職しました。
まだまだわからないことだらけですが、毎日楽しく働いています!
業務や個人開発での発見やエラー解決などをアウトプットしています。
今回は、
M1 Macの環境構築で遭遇したエラーの解決方法です。
Docker Rails 環境を想定しています。
エラー内容
Caused by:
LoadError: Error loading shared library ld-linux-aarch64.so.1: No such file or directory (needed by /usr/local/bundle/gems/nokogiri-1.13.3-aarch64-linux/lib/nokogiri/2.6/nokogiri.so) - /usr/local/bundle/gems/nokogiri-1.13.3-aarch64-linux/lib/nokogiri/2.6/nokogiri.so
rake aborted!
LoadError: cannot load such file -- nokogiri/nokogiri
解決方法
Dockerfile に以下を記述するだけです!
apk add gcompat
他にも、docker-compose 環境なのであれば、
docker-compose build --no-cache
をすることで、解決できちゃう場合もあるかもしれないです。
また、今回の nokogiri のエラーに限らず、
M1 Mac での環境構築をする際には、
・ライブラリ等はx86-64(Rosetta2)なのか、ARM64なのか
・目的のバージョンがARM64に対応しているか
このあたりを考慮しながらすすめると良いかと思います。