みなさん、こんにちは。
私は今、Ruby on Railsを勉強しています。
自分のオリジナルアプリをCloud9で開発中です。
先では、開発もしていくので、ここでiMacに
Ruby on Railsの開発環境を作っていく記録をまとめて書いていきます。
この記事では、
- Homebrewのインストール
- anyenvのインストール
- rbenvのインストール
という順番で説明します。
皆さんも参考にしてください。
目 次
スポンサードリンク.(Sponsored Link)
私のMacのOSは?
私のMacは、iMac、macOS High Sierra バージョン 10.13.1
です。
この記事で扱うソフト
この記事では、以下のソフトを使用します。
- Homebrew(パッケージ管理ソフト)
- anyenv(**Env系を管理するソフト)
- rbenv(anyenv経由でインストール。
これで、rubyのバージョンを切り替えます。) - ruby(rbenv経由でインストール。
rubyを単独でインストールできますが、
rbenvでrubyのバージョンを切り替えるので、
rbenv経由でインストールします。) - MySQL(データベース。次の記事で説明していきます)
Homebrewのインストール
Homeをインストールしよう!
手順1) Homebrewのサイトからインストール用コードをコピーします。
ソースコードは以下になります。
1 |
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
引用元:https://brew.sh/index_ja.html
※Homebrewのインストールで
Downloading Command Line Tools(macOS High Sierra version 10.13)for Xcodeを
自動でインストールしてくれます。
Homebrewとanyenvのどちらでrbenvをインストールすればよいか?
anyenvを使う場合は、
Homebrewで rbenvをインストールせず
anyenv 側からrbenv をインストールします。
もし、homebrewでrbenvをすでにインストールしていたら
まず、homebrewでインストールしたrbenvを
全削除しておいたほうがよいでしょう。
その理由は、anyenvで rbenvをインストールした時に
新しいrbenvのパスが、認識されなくなる可能性があるからです。
実際、私もこの現象にあってしまいました。
私のMacでは、anyenvをインストールすると
最初は、以下のようなエラーが出ました。
1 2 3 4 5 6 7 8 9 10 11 12 |
$ exec $SHELL -l $ anyenv versions rbenv: rbenv: version `2.2.2' is not installed (set by /Users/macname/.ruby-version) system $ rbenv -v rbenv 1.1.1-30-gc8ba27f $ rm -rf ~/.rbenv $ anyenv versions rbenv: rbenv: version `2.2.2' is not installed (set by /Users/macname/.ruby-version) system |
anyenvのversionsで、以前インストールしたrubyが
邪魔をしているように見えましたが
その時にやったことをはっきり覚えていなくて
どうすればよいかがわからず
結局、MacOSを新規でインストールし直しました。
Sponsored Link
Rubyの開発環境にanyenvがとても便利
anyenvのことについてすこし説明しますね。
anyenvとは
フルスタック[1] … Continue readingで開発していると、
php、ruby、python、node.jsなどのプログラム言語を使用する機会も増えてきます。
私の職場は、私一人で開発をしていますが
そうなると一人で色々としなければいけなくなります。
(気の長い話ですが・・・)
先ではプロジェクトも増えてくると思いますが
その時にマシーンを増やすわけも行きませんので
同じマシンで全てのプロジェクトを行う必要があります。
そういうときに、各プログラム言語のバージョンが混在して、
エラーが起き開発作業が前に進まないといったことが起きてしまいます。
こんな時に、anyenvをインストールしておくと
メジャーな「env系」を一括管理することができるようになります。
開発環境管理ツール anyenvインストール
anyenvのソースはこちら(英語で説明有り):https://github.com/riywo/anyenv
ダウンロード
まず、anyenvのインストールに必要なファイルをダウンロードします。
1 |
$ git clone https://github.com/riywo/anyenv ~/.anyenv |
ダウンロードされたファイルのパスを通す
1 2 3 |
$ echo 'export PATH="$HOME/.anyenv/bin:$PATH"' >> ~/.bash_profile $ echo 'eval "$(anyenv init -)"' >> ~/.bash_profile $ exec $SHELL -l |
1行目と2行目の”eco …”は、Macの環境設定ファイル”bash_profile”に anyenvのパスを通しています。
3行目で、シェルを再実行してbash_profileに追加したパスを有効化します。
インストールされたか確認する
その後にコマンドの場所を確認してみます。
1 2 |
$ which anyenv ~/Users/name/.anyenv/bin/anyenv |
“which anyenv” で、anyenvがインストールされたパスを確認します。
ちなみに
Macのbash_profileにきちんとパスがか書かれているか
確認するには、viエディターを使うといいです。
1 2 |
$ cd ~ $ vi .bash_profile |
1 2 |
eval "$(anyenv init -)" export PATH="$HOME/.anyenv/bin:$PATH" |
すると上のような2行の記述があります。
確認したら
“:” + “q”を順番におして終了します。
以下、終了するためのコマンドです。
:q→保存せずに終了
:q!→変更内容も保存せずに終了
:w→保存するが終了はしない
:wq→保存して終了する
※qは、”quit” の “q”
※wは、”write”の “w”
viエディターのコマンドはこちらの一覧を見てください。
参考サイト:https://qiita.com/luckypool/items/f1e756…
スポンサードリンク(Sponsored Link)
anyenvのプラグインをインストール
**env系のアップデートの更新はどうするか?
anyenvをインストールしたところで
anyenvを利用して**env系のインストールする準備ができたところです。
しかし、**env系をインストールすると
今度は **env系がアップデートされるたびに、
その更新内容をインストールしなくてはいけません。
そこで、この **env系の更新内容を
自動インストールしてくれるプラグインをインストールしておきます。
anyenvのプラグインをインストールする場所を作成
まずは、プラグインを保存するディレクトリーを作ります。
1 |
$ mkdir -p ~/.anyenv/plugins |
“.anyenv”ディレクトリー配下に、”plugins”というディレクトリーを作ります。
anyenv-updateプラグインをインストールする
先程作成したディレクトリーにレポジトリーをクローンします。
1 |
$ git clone https://github.com/znz/anyenv-update.git ~/.anyenv/plugins/anyenv-update |
anyenv-gitプラグインをインストールする
インストールは、先程作成したディレクトリーに
レポジトリーをクローンするだけです。
1 |
$ git clone https://github.com/znz/anyenv-git.git ~/.anyenv/plugins/anyenv-git |
anyenv-gitの開発サイトはこちらです。
→https://github.com/znz/anyenv-git
anyenv-gitの使用方法
これは、インストール済みの全ての **env系と
全てのプラグインが保存されたディレクトリーの中で、
anyenv gitコマンドを自動的に実行する機能を提供する
anyenvのプラグインです。
- **env系とインストールされた全てのプラグインを自動的に一括更新。
$ anyenv git pull - お掃除です。(ガーベッジコレクションの)
$ anyenv git gc - 全てのリモートレポジトリーを表示します。
$ anyenv git remote -v - gitのステータスを表示します。
anyenv git status
これで、anyenvのインストールと
プラグインのインストールは終わりました。
anyenvの使い方
anyenvでインストールできる**env系は?
anyenvでどんな**env系をインストールできるのかみてみましょう。
1 |
$ anyenv install -l |
すると、次のようなリストが表示されます。
- Renv
- crenv
- denv
- erlenv
- exenv
- goenv
- hsenv
- jenv
- luaenv
- ndenv
- nenv
- nodenv
- phpenv
- plenv
- pyenv
- rbenv
- sbtenv
- scalaenv
- swiftenv
**env系をインストールするには?
上にあげた**env系のリストの中から、
自分がインストールしたい**env系の名前を
anyenvのコマンドの後に入れて実行するだけです。
例えば、Ruby on Railsの開発環境を作る時には
“rbenv”をインストールします。
1 |
$ anyenv install rbenv |
すると、最後に次のようなメッセージがターミナルに表示されます。
1 2 |
Install rbenv succeeded! Please reload your profile (exec $SHELL -l) or open a new session. |
これでrbenvのパスを環境設定ファイルに通さなくてはいけませんが
これはanyenvが代わりに自動でしてくれたので
ターミナルに以下のコードを入力して、SHELLを再起動して
環境設定ファイルの変更を有効化します。
1 |
exec $SHELL -l |
1 2 3 |
$ anyenv versions rbenv: * system (set by /Users/username/.anyenv/envs/rbenv/version |
ruby-buildはすでにインストールされているのか?
brewを使って rbenvをインストールすると
ruby-buildをインストールしなくてはいけないようですが(▼)
1 2 3 4 |
$ brew install rbenv $ brew install ruby-build $ rbenv version 2.2.3 (set by ******) |
※引用元:https://qiita.com/narikei/items/cd029911597cdc71c516
anyenvを使った場合には、
ruby-buildをインストールする説明がどこにもありません。
それで、自分のMacのターミナルから
ruby-buildが既にインストールされてるか確認し
きちんと下記のディレクトリーの中に保存されてることがわかりました。
1 |
/Users/username/.anyenv/envs/rbenv/bin/rbenv/plugins/ruby-build/ |
なので、ruby-buildのことは気にせずに
次のrubyのインストールをしますね。
Sponsored Link
Rubyをインストール
RubyGems
Rubyをインストールするときには、自動的にRubyGemsという
Ruby内でのパッケージ管理フレームワークを、インストールしてくれます。
RubyGemsは、ライブラリーの作成、公開、インストールを
助けるシステムです。
Ruby v.1.9以降は、RubyGemsは標準添付で
それ以前のバージョンでは、自分で手動でインストールします。
詳しくは、Rubyのライブラリーを見てくださいね。
インストール
そこでRubyをインストールしますが
その前に、インストール可能なバージョンの一覧を表示してみます。
1 |
$ rbenv install --list # => インストール可能なバージョンの一覧を表示 |
次に、バージョン “2.5.0” をインストールします。
1 |
$ rbenv install 2.5.0 |
新しい**env系をインストールしたら、
bash(shell)の再起動を忘れずにしましょうね!
1 |
$ exec $SHELL -l |
インストールされたか確認する
ここで、**env系がインストール状況を確認します。
以下のようにインストールしたバージョンが表示されればOKですよ
1 2 3 4 5 |
$ anyenv versions rbenv: * system (set by /Users/username/.anyenv/envs/rbenv/version) 2.2.3 2.5.0 |
globalで、デフォルトのrubyのバージョンを設定
1 2 3 |
$ rbenv global 2.5.0 $ ruby -v ruby 2.5.0p0 (2017-12-25 revision 61468) [x86_64-darwin17] |
rbenv global + (バージョン番号)で
rubyが使用するデフォルトのバージョンを指定できます。
指定したら、以下のように
コードを入力して現在デフォルトのバージョンを確認します。
1 2 3 4 5 |
$ anyenv versions rbenv: system 2.2.3 * 2.5.0 (set by /Users/username/.anyenv/envs/rbenv/version) |
その他、詳しい設定方法はこちらを参考にしてください。
localで特定のディレクトリーでバージョンを変える設定
1 |
$ rbenv local 2.2.3 |
特定のプロジェクトだけでrubyのバージョンを変える場合は
そのプロジェクトのルートフォルダーにいき
そこで上のコードを実行します。
bundlerのインストール
bundlerとは、gem同士の互換性を保ちながら
パッケージの種類や、バージョンを管理してくれる仕組みのこと。
複数のエンジニアが、ひとつのプロジェクトの中で開発する際
各エンジニアの開発環境で、扱うパッケージの種類、
バージョンなどを自動的に合わせくれます。
1 2 3 4 5 6 7 8 9 |
$ gem install bundler Fetching: bundler-1.16.1.gem (100%) Successfully installed bundler-1.16.1 Parsing documentation for bundler-1.16.1 Installing ri documentation for bundler-1.16.1 Done installing documentation for bundler after 3 seconds 1 gem installed $ bundler -v Bundler version 1.16.1 |
gem install bundlerで bundlerをインストールします。
bundler -vで、インストールされたbundlerのバージョンを確認します。
**env系、プラグインのアップデートの更新の仕方は?
最後に、ここまでインストールした**env系と、プラグインなどの
アップデートを自動インストールするやり方は
以下のとおりです。
1 2 3 4 5 6 |
$ anyenv update Updating 'anyenv'... Updating 'anyenv/anyenv-git'... Updating 'anyenv/anyenv-update'... Updating 'rbenv'... Updating 'rbenv/ruby-build'... |
” anyenv update”と入力してENTERすると
自動的に anyenv-git, anyenv-update, ruby-buildなど
更新してくれます。
楽ちんですね。
参考サイト
全体の流れを参考にしたサイト
参考URL : https://qiita.com/rinpa/items/81766cd6a7b23dea9f3c
Rubyのバージョンの指定の仕方を参考にしたサイト
URL : https://qiita.com/makoto_kw/items/cc73b628c9ef039f6e6f
まとめ
皆さんいかがでしたか。
anyenvを使ってrubyをインストールする場合の
全体的な流れがわかっていただけるといいですね。
でも、ここからまだ開発環境の構築は続きますので
その続きは、別記事にて掲載します。
続く・・・
参考情報/References
↑1 | 「フルスタック」とは、システムエンジニア、サーバーエンジニア、データベースエンジニア、ネットワークエンジニアがすることを、全て一人でするエンジニアのこと。いわば、マルチエンジニアです。小さい会社などは人手が不足しているため、フルスタックエンジニアに頼らざるを得ないし、フルスタックエンジニアにならざるをえないのが現状です。 |
---|
スポンサード・リンク (Sponsored Link)....