While checking how to install Ruby 3 on my new M1, I saw (also from brandur) that the full homebrew is now ready to roll!
However…..
This is really only true if you’re on the latest and greatest for all your projects. If, for example, you need a ruby <2.4 for something, then OpenSSL needs to be <1.1, and that’s not supported on arm
, per https://github.com/rbenv/ruby-build/issues/1353#issuecomment-573414540. So I still set up the ibrew
/abrew
stuff, and then had to install old OpenSSL in the ibrew
variant per above (or was it this? or this?). Btw I used the iTerm Rosetta.app
variant to get things installed, and then tried to keep using it as I installed/built things, just to minimise variables to get to functional fast
ibrew install rbenv/tap/[email protected]
This only works on x86_64
, so In order to get an old ruby installed, I needed double installs. In fact I needed to use x86_64 readline to get 2.4 & 2.5 installed.
# 2.3, but also works for 1.9.3-p551 RUBY_CONFIGURE_OPTS="--with-openssl-dir=$(/usr/local/bin/brew --prefix [email protected]) --with-readline-dir=/usr/local/opt/readline" arch -x86_64 rbenv install 2.3.3 # 2.4.10, 2.5.8 RUBY_CONFIGURE_OPTS="--with-readline-dir=/usr/local/opt/readline" arch -x86_64 rbenv install 2.4.10
Make sure you install rbenv
yourself, not from brew
, as you may need to pass some arch
details
capybara-webkit
still needs an old version of Qt, so you need to install the old 5.5 just like before. Make sure to follow all the steps! Including, adding it to your .profile
, and make sure you run source ~/.profile
before trying to compile again
pg
will also probably freak out about not being able to get a clear line on which homebrew to use (especially as I installed the arm one as well), so you may need to specify
env ARCHFLAGS="-arch x86_64" gem install pg -v '0.21.0' -- --with-pg-config="$(ibrew --prefix postgresql-common)/bin/pg_config" or bundle config build.pg --with-pg-config="$(ibrew --prefix postgresql-common)/bin/pg_config"
libv8
and therubyracer
continue to be pains in the arse:
brew install [email protected]
bundle config build.libv8 --with-system-v8
bundle config build.therubyracer --with-v8-dir=$(ibrew --prefix [email protected])
bundle install