一応私の環境の紹介
OS centOS-7(1810)
##rbenv
これは既に入れたが、使い方を知らなかった。多くのサイトではこれを用いてRubyをインストールしているので、なんとなく入れた。いい機会なので少々調べてみた。
下のサイトが配布元であり、導入法がどこのサイトよりもわかりやすいと思う。今回の記事もこのサイトに沿って書いてある。
https://github.com/rbenv/rbenv
###概要
Rubyのバージョンを簡単に切り替えるためのツール。Bundlerと組み合わせるとRubyがストレスフリーになるらしい。
rbenvはパスの最初に挿入することで働く。
~/.rbenv/shims:/usr/local/bin:/usr/bin:/bin
rehashingと呼ばれるプロセスによって、rbenvは、すべてのインストールしたRubyのバージョンのコマンドに対応する。
###OSの動き
$ ruby
とターミナルで入力すると、OSは登録されているPATHからrubyという名前の実行ファイルを探す。~/.rbenv/
以下のshimsディレクトリから、rubyという名の実行ファイルを起動する。
###rubyバージョン選択
shimを実行すると、rbenvはrubyのバージョンを以下の順序で決定する。
- RBENV_VERSION環境変数を参照。
rbenv shell
コマンドで変数のセットができる。 - 作業ファイルのあるディレクトリからrootまで
.ruby-version
を探す。 - カレントディレクトリからrootまで
.ruby-version
を探す。 -
~/.rbenv/version
を参照。このファイルはrbenv global
で修正可能。
rbenv | global と local と .ruby-version の微妙な関係
###rubyインストール場所
~/.rbenv/versions
ディレクトリ配下
###インストール方法
#####Macの場合
$ brew install rbenv #ruby-buildも一緒にインストールされる
$ rbenv init
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
#####その他
その前に使用しているシェルの確認をする。
現在利用可能なシェルの確認
$ cat /etc/shells
現在利用中のシェルの確認
$ echo $SHELL
僕の場合はbashを利用している。というより、一番普通なのがbashだと思う。より高機能なシェルや、C言語ユーザーに適したシェルもあるが、この記事を見るような人は、僕のような初心者が多いだろうから、デフォルトのbashが無難だろう。
# クローンを~/.rbenv以下に生成
$ git clone https://github.com/rbenv/rbenv.git ~/.rbenv
# 次の行は、rbenvの高速化するために行う。失敗しても気にしないでOK
$ cd ~/.rbenv && src/configure && make -C src #この行は無視しても構わない。
# ~/.rbenv/binへのパスを追加する。以下使用シェルによってコマンドが違うので注意
# bashの場合
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
# Ubuntu Desktopの場合
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
# Zshの場合
$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc
# Fish shellの場合
$ set -Ux fish_user_paths $HOME/.rbenv/bin $fish_user_paths
# rbenvのセットアップ。このコマンド実行時下の初期化処理を促す文が表示される。
$ ~/.rbenv/bin/rbenv init
#初期化の処理をログイン時に一回行うようにする。
$ echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
# 適切なインストールがされたかの確認
$ curl -fsSL https://github.com/rbenv/rbenv-installer/raw/master/bin/rbenv-doctor | bash
ちなみにGitを利用する方法(上でいうところのその他のOS)でインストールした場合、Gitを利用して最新版にアップグレードできる。
$ cd ~/.rbenv
$ git pull
###ruby-build(rbenvプラグイン)インストール
ruby-buildはrbenvのプラグインであり、rbenv install
コマンドを利用可能にし、rubyのインストールが楽になる。ぜひ入れておくとよいだろう。
# Macの場合
$ brew install ruby-build
# rbenvのプラグインとしてインストールする場合
$ mkdir -p "$(rbenv root)"/plugins
$ git clone https://github.com/rbenv/ruby-build.git "$(rbenv root)"/plugins/ruby-build
# rbenvを利用しない場合(スタンドアロンなプログラムとして)
$ git clone https://github.com/rbenv/ruby-build.git
$ PREFIX=/usr/local ./ruby-build/install.sh
ちなみに、アップグレードは以下のようにできる。
# Homebrew使用者の場合
$ brew update && brew upgrade ruby-build
# rbenvのプラグインとして利用している場合
$ cd "$(rbenv root)"/plugins/ruby-build && git pull
##Rubyインストール
ここではrbenvを利用してrubyをインストールします。
rbenvを利用しない方法は、割と簡単でしたので、調べてください。
私でもrbenv無しで最新版をインストールできたので楽勝です!(笑)
(今は私はrbenvを利用しています。)
# インストール可能なバージョンのリストを表示
$ rbenv install -l
# バージョン指定し、インストール(今の最新バージョンは2.6.~じゃなかったけ?)
$rbenv install 2.0.0-p247
###Gemインストール
rbenv version
で使用したいバージョンであるかどうかを確認したのち、Gemをインストールする。
まず、次のコマンドで、使用するバージョンを決定する。
Userのディレクトリ全体で使用するRubyのバージョンを指定。
$ rbenv global (your ruby version)
(例)
$ rbenv global 2.6.3
また、Rubyのバージョンを使い分ける場合は、カレントディレクトリで使用したいRubyのバージョンを選択する。
(注意)必ずしもディレクトリごとに使用するバージョンを設定する必要はない。したい人だけすればよい。ちなみに僕はしていない。
使用したいディレクトリにcdコマンドで移動してから
$ rbenv local (your ruby version)
(例)
$ rbenv local 2.6.3
次にGemの管理ツールBundlerをインストールする。
$ gem install bundler
ちなみにGemのインストール場所を確認するには、
$ gem env home
とでもすればいい。
###rbenvコマンド
例として以下を挙げる。
その他のコマンドを知りたい方は、ここをチェック
コマンド | 説明 |
---|---|
rbenv | shellRBENV_VERSION環境変数をセットする |
rbenv local | .ruby-versionファイルを修正する |
rbenv global | ~/.rbenv/versionファイルを修正する |
##Railsインストール
まずデータベースをインストールする。
ここでは、sqlite3を例にとる。
$ sudo yum install sqlite
インストールしたら、sqlite3のバージョンを確認し、正しくインストールできているか確認する。
$ sqlite3 --version
正しく、バージョン名が返されれば、インストールはできているので次に進もう。
次はいよいよRailsをインストールする。
$ gem install rails
ここで再び、インストールの確認のため、バージョンの確認をする。
$ rails --version
正しく、バージョン名が返されれば、インストールはできている。
###ハローワールド
Railsがインストールできたので、さっそくハローワールドしていこう。
まず、以下のコマンドを実行すると、blogディレクトリがカレントディレクトリに生成され、blogディレクトリ内にblogという名のアプリケーションが作られる。また、このアプリに必要なGemも、上の作業でbundle install
したときに生成されたGemfileの内容に従ってインストールされる。
$ rails new blog
次にblogディレクトリに移動し、WEBサーバーを起動させる。このWEBサーバーはPuma(プーマ)というRailsのデフォルトのサーバーです。
$ cd blog
$ bin/rails server
このコマンドが実行できたら、ブラウザを開き、http://localhost:3000
にアクセスします。
(注意)
私のように、VPSなどをCLIで利用している人はhttp://localhost:3000
ではアクセスできません。
$ bin/rails server -b 0.0.0.0
などとし、外部から接続可能にしましょう。
このときは、http://(リモートPCのIPアドレス):3000
でアクセスしましょう。
これでもできない場合はfirewallの設定で3000ポートが解放されていない可能性があります。
次のコマンドで3000ポートを開放します。
$ firewall-cmd --zone=public --add-port=3000/tcp
できましたら、アクセスしてみましょう。今度はできるはずです。多分...
アクセス確認できましたら、ポート開けっ放しはセキュリティ的にどうかと思うので、閉じましょう。
また使用したいときに開放すればいいのですから。
$ firewall-cmd --zone=public --remove-port=3000/tcp
このページが正しく開いたら成功です!
起動中のサーバーを停止するにはCtrl+Cを入力してください。
引き続き頑張っていきましょう!