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の問題が再発していたような気がします。
参照
パスの設定
- Ruby を使うなら「rbenv」で複数バージョンを切り替えられるようにしておこう - HAM MEDIA MEMO
環境構築
- Rails開発環境の構築(rbenvでRuby導入からBundler、Rails導入まで) - Qiita
pgインストール時のエラー
- How to solve gem pg install error · yochiyochirb/kajaeru Wiki · GitHub
- RubyGems 自体のバージョンをアップデートする。 - Qiita
今日の教訓
環境設定という一番の基礎部分をおろそかにしないこと