【M2 Mac】rbenv installでエラーになる時の解決法

困ったこと

Terminal window
$ rbenv install 2.4.1
(省略)
2 warnings generated.
linking shared-object fiddle.bundle
Undefined symbols for architecture arm64:
"_ffi_prep_closure", referenced from:
_initialize in closure.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [../../.ext/-darwin21/fiddle.bundle] Error 1
make[1]: *** [ext/fiddle/all] Error 2
make: *** [build-ext] Error 2

rbenv installでRuby 2.4.1をインストールしようとすると上記のようにエラーになる。

筆者の環境

  • M2 Mac

調べてみると、どうやらApple Silicon搭載のMacだとrbenv installでコケることが多いらしい。

解決法

Terminal window
RUBY_CFLAGS="-w" rbenv install 2.4.1

RUBY_CFLAGS="-w"を頭に付けるだけ。これで無事インストールできた。

1

参考
  1. Installation issues with Arm Mac (M1 Chip) · Issue #1691 · rbenv/ruby-build