vaguely

和歌山に戻りました。ふらふらと色々なものに手を出す毎日。

MacでRailsを使う時のメモ

軽い気持ちでやり始めたらすんなりいかなかったのでメモ。

Homebrewを使ってrbenvをインストールし、rbenvでruby2.1.5をインストールするところまではスムーズに実行できました(多分)。

Rubyのバージョン指定

インストールのあとデフォルトで使うRubyのバージョンを指定するために、[rbenv global 2.1.5]を実行して、確認のため[ruby -v]を実行すると、なぜか以下の状態に。

$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

バージョン指定が失敗しているのかな?と思い、[rbenv versions]を実行すると、

$ rbenv versions
  system
  2.1.2
* 2.1.5 (set by /Users/XXX/.rbenv/version)

と表示され、2.1.5が選択されています。

ぐぬぬ...。

ターミナルを再起動したり、[rbenv rehash]を実行したりしても同様の結果となりました。

色々調べてみたところ、どうもHomeディレクトリにある.bash_profileに、rbenvのパスが設定されていなかったのが原因のようです。

以下の内容を追加して、[source ~/.bash_profile]を実行してやると無事2.1.5が表示されるようになりました。

export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"

※ここから下は、↑で行ったパスの設定をせずに問題のあるまま強行したために発生した問題ですが、こちらも記録しておきます。

RailsのインストールとBundle Update

[gem install rails]でRailsをインストールしようとすると、権限エラーに。

SystemのRubyが使用されていたためだと思いますが、とりあえず[sudo gem install rails]で4.1.8をインストールしました。

Ruby on Rails チュートリアルを参考に、[bundle update]を実行しようとすると、またも権限エラー。

で、[sudo bundle update]とすると、今度はpg_configが見つからないとエラーに。

調べてみたところ、PostgreSQLのインストールが必要とのこと。

[brew install postgresql]でインストールしたのですが、まだエラーは解消せず。

さらにググったところ、[sudo su]で管理者になった状態で実行環境を指定してやるとうまく動作しました。

$ env ARCHFLAGS="-arch x86_64" bundle update

RubyGemsの更新

bundle updateの実行時に、RubyGemsのバージョンを少なくとも2.1.0以上に更新しろ、という旨のアラートが。

[sudo gem update --system]で更新したのち、メッセージの内容に従って[sudo gem pristine --all]を実行しました。

さらに、nokogiriでアラートが表示されていたので、こちらもメッセージに従って[sudo bundle config build.nokogiri --use-system-libraries]を実行してみました。

このあとbundle updateの問題が再発していたような気がします。

参照

パスの設定

今日の教訓

環境設定という一番の基礎部分をおろそかにしないこと