-
-
Save fernandoaleman/868b64cd60ab2d51ab24e7bf384da1ca to your computer and use it in GitHub Desktop.
brew tap homebrew/versions | |
brew install v8-315 | |
gem install libv8 -v '3.16.14.13' -- --with-system-v8 | |
gem install therubyracer -- --with-v8-dir=/usr/local/opt/v8-315 | |
bundle install |
On my Apple M1 with MySQL 5.7 and OpenSSL@1.1 with Ruby 2.6.5.x
bundle config build.mysql2
--with-mysql-config=/opt/homebrew/Cellar/mysql@5.7/5.7.36/bin/mysql_config
--with-ldflags=-L/opt/homebrew/opt/openssl@1.1/lib
--with-cppflags=-I/opt/homebrew/opt/openssl@1.1/include
bundle install # installed mysql2 with native gems just fine
After hours of dealing with this, I finally found a solution that worked for me. Big Sur 11.6 - Intel
env \ CXX=clang++ \ GYPFLAGS=-Dmac_deployment_target=10.9 \ gem install libv8 --version 3.16.14.19
then run
bundle install
Hope this helps!
This one worked for me as well! Thank you very much
bundle config build.libv8 --with-system-v8
bundle config build.therubyracer --with-v8-dir=$(brew --prefix v8@3.15)
bundle
worked for me, thanks
bundle config build.therubyracer --with-v8-dir=$(brew --prefix v8@3.15)
worked for me, thanks
macOS Monterey doesn't include Python 2 anymore. Python 2 is required by libv8. To install it (from https://www.alfredapp.com/help/kb/python-2-monterey/), execute the following (preferably in a new shell because it changes $PATH):
export PATH="/opt/homebrew/bin:/usr/local/bin:${PATH}"
eval "$(brew shellenv)"
brew install pyenv
pyenv install 2.7.18
ln -s "${HOME}/.pyenv/versions/2.7.18/bin/python2.7" "${HOMEBREW_PREFIX}/bin/python"
For Ruby 3.0.4 in Monterey (macOS 12.3.1), this worked for me:
brew install v8@3.15
bundle config build.libv8 --with-system-v8
bundle config build.therubyracer --with-v8-dir=$(brew --prefix v8@3.15)
bundle install
Unfortunately, it's not so easy in Ruby. 3.1. That includes psych-4 as a "default" (hard-coded in) gem which can't be removed, and psych-4 is incompatible with libv8 (for now at least). I have not found a solution to this, aside from reverting to ruby 3.0.4.
For those who any of the above fixes didn't work I installed Python 3.9.1 set it to the global python version (setting it to local version didn't work), and ran bundle again and it installed mini_racer correctly.
What tipped me off was the following message in the console output after it failed:
Python 3.12. Use setuptools or check PEP 632 for potential alternatives
from distutils.spawn import find_executable
Please use python3.9 or python3.8 or python3.7 or python3.6 or python3.5 or python2.7.
Node.js configure: Found Python 3.10.2...
Here are the commands I ran:
pyenv install 3.9.1
pyenv global 3.9.1
bundle
if someone is using mini_racer 0.3.0
or below, please upgrade to gem 'mini_racer', '0.6.2'
and comment out libv8
trust me, it will save you hours of dev config time
Much thanks @gamesover This was the perfect fix for Monterey 12.4 on a M1.
if someone is using
mini_racer 0.3.0
or below, please upgrade togem 'mini_racer', '0.6.2'
and comment outlibv8
trust me, it will save you hours of dev config time
Still not working on Ruby@3.1 the only way out is reverting to ruby 3.0.4
Comment out Following 2 Gems from Gemfile
1: g em 'libv8'
2: gem 'therubyracer'
Add following Gem
gem 'mini_racer'
bundle install
Should work as suggested by @srfinkel
Still not working on Ruby@3.1, any solutions??
Not working on ruby@3.1 yet
bundle config build.therubyracer --with-v8-dir=$(brew --prefix v8@3.15)
Thanks. Worked for me too!
Still works just fine with my env Catalina, Ruby 2.6.6, and Rails 6.0.4.2