LoginSignup
0
0

More than 5 years have passed since last update.

Rails 3.2をmojaveにbundle installする

Last updated at Posted at 2018-11-27

Mojaveで渡された古いRails動かそうとしたらbundlerコケるので備忘録。

cloneしてきて魔法の呪文、bundle install --path vendor/bundleを唱えると、、、コケる。

ので、コケたのに対して、淡々とオプションを指定してひたすら逃げていく。

homebrew?

homebrew?そんなの使うわけないでしょ。
調べててhomebrew前提の何の解決もしてないノイズ記事が多すぎてつらかった、、、、、、、

備忘録。

みんな嫌いなnokogiriわかる。libxml2を指定すればイケた。

bundle config --local build.nokogiri --use-system-libraries --with-xml2-include=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2 --with-xml2-lib=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/libxml2
bundle config --local build.libv8 --with-system-v8

つづいて、libOpenSSLがないっぽいので、ビルドして入れておく。要らなかったかも?
https://www.openssl.org/source/

さらにmysqlの古いのも入れる。
rails3.2はmysql2の0.3系しかダメらしく、mysql2の0.3系はmysqlの8ではビルドが通らない。
幸いにmojaveにはmysql 5.7.24が入るらしいので、dmgから。
https://dev.mysql.com/downloads/file/?id=481129

で、そいつを使うべく試行錯誤の末が以下。

bundle config --local build.mysql2 --with-mysql-config=/usr/local/mysql-5.7.24-macos10.14-x86_64/bin/mysql_config --with-ldflags=-L/usr/local/mysql-5.7.24-macos10.14-x86_64/lib
otool -L vendor/bundle/ruby/2.1.0/extensions/x86_64-darwin-18/2.1.0-static/mysql2-0.3.21/mysql2/mysql2.bundle

で確認してリンクされてるライブラリがlibmysqlclient.20.dylibになってればOK。21.dylibだと新しい方。

bundle update libv8

therubyracerのやつ。さっぱりわからんが
Fetching libv8 3.16.14.19 (x86_64-darwin-18) (was 3.16.14.17)
Installing libv8 3.16.14.19 (x86_64-darwin-18) (was 3.16.14.17)
で新しくなってビルド通った。

bundle exec rails serverで動いた。

ら、終わり。

正直、、、

こんな無駄な事に苦労するくらいだったらrailsのバージョンあげたほうがいいと思う、、、
動いてよかった。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0