いくつかのサイトを参考にしながらの試行錯誤で、環境つくるところまで。出来るだけ詳細に。

それぞれのサイトでバージョンの違いや、そもそも全く違う手法など、なかなかに大変でした。

Macは最初からrubyがインストールされています。

しかし、買ったばかり!とかならわかりませんが、だいたいはそのバージョンが最新であることはないでしょう。

まずはそこからです。

ruby -v

2.0.0

これが私の環境でのバージョンでした。

これを最新(もしくはそれに近いところ)に持っていきますが、これが一筋縄でない。

brew -v

これを打って、brewがない、と怒られた人はHomebrewのインストールから始めないといけません。

https://brew.sh/

へ行くと、インストールのためのコマンドが記載されています。

ruby -e “$(curl -fsSL href=”https://raw.githubusercontent.com/Homebrew/install/master/install)”>https://raw.githubusercontent.com/Homebrew/install/master/install)”

こんな感じのものです。今ならこのままコピペで行けるでしょう。私が参考にしたサイトに載っていたものは少し古く、だめでした。ちゃんと本家からコピペするのが良いです。

これでbrewが使えるようになります。

以下をバリバリと実行して行きます。

brew install rbenv

brew install ruby-build

brew install rbenv-gemset

できたらインストール可能なrubyのバージョンを探ります。

rbenv install –list

私は今回は2.4.0を選択しました。もっと新しいのもありましたが。

ちなみにrails5は2.2.2以上を求めてきますので、それを念頭に置いて選択します。

選択したらインストールします。

rbenv install 2.4.0

rbenv global 2.4.0

ここから現状デフォルトとなっている2.0.0から今インストールした2.4.0へデフォルトを切り替えます。

ここでちょっと引っかかりました。参考にしたサイトでは以下のようになっていました。

eval “$(rbenv init -)”
source ~/.bash_profile

これを打って

ruby -v

2.4.0

このように返ってくるので切り替わったと勘違いしてしまいましたが、これ、一時的です。ターミナルを閉じたらまた元の2.0.0に戻ります。

そりゃそうです。後ろの

source ~/.bash_profile

これ、この段階では何の意味もないですよね。

eval “$(rbenv init -)”

これで.bash_profileに何かが足されるわけでもなんでもない。単にrbenv init – が返すコマンドをevalで実行しているに過ぎません。

このrbenv init – 返してくるコマンド、実際にはshellですがこれを.bash_profileに書く必要があります。

しかし、.bash_profileは隠しファイルで、リダイレクトとかで追記出来ませんでした。手で書くしかない。

(私はそう判断しました。)

なので、

eval “$(rbenv init -)”

の中身を知るために

echo “$(rbenv init -)”

を実行します。すると

———————————————

export PATH=”/Users/xxxxxxxxx/.rbenv/shims:${PATH}”
export RBENV_SHELL=bash
source ‘/usr/local/Cellar/rbenv/1.1.1/libexec/../completions/rbenv.bash’
command rbenv rehash 2>/dev/null
rbenv() {
  local command
  command=”$1″
  if [ “$#” -gt 0 ]; then
    shift
  fi

  case “$command” in
  rehash|shell)
    eval “$(rbenv “sh-$command” “$@”)”;;
  *)
    command rbenv “$command” “$@”;;
  esac
}

—————————————————-

これは私の場合ですが、こんな感じのshellが返ってきます。

これをそのまま.bash_profileに書きます。

sudo vim ~/.bash_profile

で、書き足したら保存。

ここで初めて

source ~/.bash_profile

これを実行してもいいし、ターミナルを開き直しても良い、

恒久的に

ruby -v

2.4.0

が返るようになります。

最初のrubyだけでこの有様です。

次にxcodeのcommand line toolsをインストールします。

これもどこかのバージョンからインストール方法が変わったので少し古いサイトだと参考になりません。

xcodeがインストールされてない場合は先にそちらかも。

これはコマンドラインでやる必要ないかと思います。

うろ覚えですが、appstoreから取ってこれたような気がします。

で、xcodeがある前提で、

xcode-select –install

これ、実は私はすでに過去にインストールしてたようです。記憶にないですが。。

でもその状態で実行しても、「もうあるよ。」的なメッセージが出て終わるので実害はなさそうです。

(windowsの場合はDevKitってのを入れるみたいです)

次は、なんとNode.jsを入れます。いつの間にこんなもの必要とする身体になってしまったの?!って感じ。少々驚きつつ、とにかくインストールします。

いったん、現状入っているか調べるのは

node -v

とかで。入れてる人は飛ばして下さい。

これもまずはnodebrewを入れてからです。めんどい。

brew install nodebrew

そして、インストールしたnodebrewを使ってNode.jsをインストールするのですが、ここでまた引っかかりました。

コマンドは

nodebrew install-binary latest

で最新が入る、はずですが、エラーします。

エラー内容を見ると、ダウンロードしたファイルを置けないみたい。置こうとしている場所は$HOMEの.nodebrew/src配下です(更にもう少し深いディレクトリです)

ところが、自分の環境を見ると、.nodebrewディレクトリさえありません。これが何故かは分からない。私の環境特有なのか、そういうものなのか、分からないがnodebrew自体はインストール出来ているのに~/.nodebrewディレクトリはありません。

手で作りました。

mkdir .nodebrew

cd .nodebrew

mkdir src

ここまで必要かは分かりませんが一応作っておきました。

そして、sudo付きで再度実行します。パーミッションではねられますから。

sudo nodebrew install-binary latest

これでNode.jsがインストールされるがまだ使えない。

まず、インストールされたNode.jsのバージョンを確認する。

nodebrew list

私の場合はv8.4.0だった。なので

nodebrew use v8.4.0

もう一度

nodebrew list

を打ち、currentにこのバージョンが入っていればOK。

次は実行パスを通す。

echo ‘export PATH=$PATH:/Users/☓☓☓☓☓☓☓/.nodebrew/current/bin’ >> ~/.bashrc

もちろん手で直接書いても構わない。

これで

node -v

が動けば良いが動かない人がいるかも知れない。

動かないのは.bash_profileに.bashrcを読む記述がないせいが濃厚だ。

if [ -f ~/.bashrc ] ; then
  . ~/.bashrc
fi

この一文を.bash_profileに記載する。

そして

source ~/.bash_profile

を実行してもいいし、ターミナルを開き直してもいい。

node -v

これでバージョンが表示されればOK

それから一応rpmも動くか見ておく。

rpm -v

ここまで来てやっとrailsのインストールだ。

これも複数の情報があったが、これがノーマルだろうと思えるものを採用した。

私の環境ではsudoを付けないとダメだった。

sudo gem install bundler

sudo gem install rails

railsのインストールには少し時間がかかる。

終わったら

rails -v

もう後は使うだけだ。

プロジェクト用フォルダを作り、その中にアプリを作っていく。

rails new AppName

そして起動は

rails s

起動確認

http://locahost:3000

終了は

ctrl + c キー

後は遊んでくれ。

後日談:

実際に動かす段になって

rails server

でエラー

なんか、sqlite3関連でのエラーっぽいが、よく見ると

bundle install

を実行しろと言っているみたいなので、そのとおりに。

ここからがさーたいへん。

このbundle install自体が成功しない。

まず、gem自体をupdateする。しかし、パーミッションでえらーするので、

sudo gem update

で。

そして、bundle install

さらにエラーが出まくる。

gem install bindex -v ‘0.5.0’

これをやれと、ただしこれ以降こんなようなのが数回続くのだが、全てsudo付けないとだめです。

sudo gem install bindex -v ‘0.5.0’

sudo gem install byebug -v ‘9.0.6’

sudo gem install ffi -v ‘1.9.18’

sudo gem install puma -v ‘3.10.0’

sudo gem install sqlite3 -v ‘1.3.13’

これだけやってやっと

bundle install

が成功し、

rails server

が正常起動、動くようになりました。

MacでのRails環境構築は、過酷な道のりです。

Winでは、バージョンさえ注意すれば難なく動くんだけど。。

#Mac #Rails5 #gem #bundle#PATH