こんにちは。
最近は運動不足解消のため、一駅前で降りて歩いて帰宅しております。
どうもハチマキです。
はじめに
最近MacBook Air(M1,2020)を購入したため、開発環境の構築を行いました。
今回rbenvでRuby2.6.4をインストールする際に発生したエラーの対処方法について書いていきます。
環境
- Ruby 2.2.4 → Ruby2.6.4
- Rails 5.2.4.4
- MacBook Air(M1,2020)
やりたいこと
Ruby2.6.4にバージョン変更したい
問題
Ruby2.6.4をインストーするためにrbenv install 2.6.4を実行したが、初めて見たエラーに出くわしました。
▽エラー事例
% rbenv install 2.6.4 Downloading openssl-1.1.1i.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242 Installing openssl-1.1.1i... Installed openssl-1.1.1i to /Users/user_name/.rbenv/versions/2.6.4 Downloading ruby-2.6.4.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.4.tar.bz2 Installing ruby-2.6.4... ruby-build: using readline from homebrew BUILD FAILED (macOS 11.1 using ruby-build 20210119) Inspect or clean up the working tree at /var/folders/hq/9_xgdx314vjfbz6wnqc7jx280000gn/T/ruby-build.20210206115130.11119.X89in3 Results logged to /var/folders/hq/9_xgdx314vjfbz6wnqc7jx280000gn/T/ruby-build.20210206115130.11119.log Last 10 log lines: compiling ../.././ext/psych/yaml/dumper.c linking shared-object -test-/string.bundle compiling ../.././ext/psych/yaml/reader.c compiling ../.././ext/psych/yaml/emitter.c compiling ../.././ext/psych/yaml/parser.c 5 warnings generated. linking shared-object zlib.bundle 1 warning generated. linking shared-object psych.bundle make: *** [build-ext] Error 2
解決方法
下記を実行することで無事に解消されました。(原因は正直いまいちわかっておりません。。)
% RUBY_CFLAGS=-DUSE_FFI_CLOSURE_ALLOC rbenv install 2.6.4 Downloading openssl-1.1.1i.tar.gz... -> https://dqw8nmjcqpjn7.cloudfront.net/e8be6a35fe41d10603c3cc635e93289ed00bf34b79671a3a4de64fcee00d5242 Installing openssl-1.1.1i... Installed openssl-1.1.1i to /Users/user_name/.rbenv/versions/2.6.4 Downloading ruby-2.6.4.tar.bz2... -> https://cache.ruby-lang.org/pub/ruby/2.6/ruby-2.6.4.tar.bz2 Installing ruby-2.6.4... ruby-build: using readline from homebrew Installed ruby-2.6.4 to /Users/user_name/.rbenv/versions/2.6.4 % ruby -v ruby 2.6.4p62 (2019-04-16 revision 67580) [universal.arm64e-darwin20] yutakayamaki@YAMAKInoMacBook-Air yy-sprout % rbenv local 2.6.4 yutakayamaki@YAMAKInoMacBook-Air yy-sprout % rbenv rehash yutakayamaki@YAMAKInoMacBook-Air yy-sprout % rbenv local 2.6.4 yutakayamaki@YAMAKInoMacBook-Air yy-sprout % ruby -v ruby 2.6.4p104 (2019-08-28 revision 67798) [-darwin20]
その後、Ruby2.6.4に変更すれば完了です。
% ruby -v ruby 2.2.4 % rbenv local 2.6.4 % rbenv rehash % ruby -v ruby 2.6.4p104 (2019-08-28 revision 67798) [-darwin20]