LoginSignup
2
2

More than 5 years have passed since last update.

El Capitanで bundle install / bundle exec rails consoleがうまく動かない時の対処法

Last updated at Posted at 2016-03-08

環境

Mac OS X 10.11.3(El Capitan)  
bundler 1.11.2  
gem 2.4.5
rails 4.2.1

El CapitanにUpgrade後 bundle install / bundle exec rails console が動かない...

僕の場合は以下のgemが大きな原因でした.

  • libv8
  • spring
# Gemとバージョン

# 障害時 
libv8 3.16.14.7
therubyracer 0.12.2
spring 1.3.3
-------------------------
# 修正後 
libv8 3.16.14.13
therubyracer 0.12.2
spring 1.6.4

また, libv8のコンパイルに以下のパッケージが必要です. 後にbrewでインストールします.

  • apple-gcc42

bundle install 中にlibv8のインストールに失敗する

libv8 : javascriptエンジンのライブラリ
therubyracer : javascriptのrubyラッパ 

bundle install中にlibv8で失敗する場合は,
libv8のバージョンが原因です.

libv8OSのバージョンに依存するため, 使用するOSのバージョンに合わせてバージョン指定する必要があります(El Capitanはdarwin15).

El Capitanの場合, libv8 '3.16.14.11'以上にupdateすることで正常に動作します.
therubyracer'0.12.2'を使用してください.

私の場合, libv8 '3.16.14.7'を使用していたため, bundler installが動いていませんでした.

## GemfileとGemfile.lockを変更

--------------------------
# Gemfile

gem libv8, '3.16.14.13'
gem therubyracer, '0.12.2'
--------------------------
# Gemfile.lock

libv8(3.16.14.13)
therubyracer(0.12.2)
--------------------------

## terminal

# libv8のコンパイルに必要なgccを入れる
$ brew install homebrew/dupes/apple-gcc42


# gemのインストール
$ bundle install --path vendor/bundle --jobs=10

bundle exec rails consoleに失敗する

Springのバージョンが原因でした.
Springとは, 開発の高速化を目的としたRailsアプリのプリローダです.

bundler 1.11.0に加えられた変更で, springがうまく起動せずコケてしまうようです(詳細).

springのバージョンを'1.6.3以上'に上げることで回避できます.

## GemfileとGemfile.lockを変更
# 16/3/8時点, 1.6.4が最新

# Gemfile
gem 'spring', '1.6.4' 

# Gemfile.lock
spring(1.6.4) 

## terminal
$ bundle install --path vendor/bundle --jobs=10
$ bundle exec rails c

もし, うまく動かない場合はspringを再起動します.

$ bundle exec spring stop
$ bundle exec rails c

参考記事
以下のqiita記事を参考にさせていただきました.
Yosemiteでlibv8をインストールする.

OS X El Capitanでlibv8 / therubyracerのbundle installに失敗する問題の解決方法

bundler 1.11.0 の変更で spring が起動しない件について

2
2
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
2
2