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!
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
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
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"
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])