Debian8でrbenvを使用してRubyonRailsをインストールする方法
序章
サイトやWebアプリの作成を検討している開発者に最も人気のあるアプリケーションスタックの1つは、RubyonRailsです。 Rails開発フレームワークと組み合わせたRubyプログラミング言語を利用することで、アプリ開発が簡素化されます。
コマンドラインツールrbenvを使用すると、RubyとRailsをインストールして管理できます。 rbenvを使用すると、必要に応じてRubyバージョン間を移動し、チーム全体を同じバージョンに保つことができるため、RubyonRailsアプリケーションを開発するための堅固な環境が提供されます。 プロジェクトリポジトリはGitHubにあります。
rbenvは、Rubyのアプリケーション固有のバージョンを指定するためのサポートを提供し、ユーザーごとにグローバルRubyを変更できるようにし、環境変数を使用してRubyバージョンをオーバーライドできるようにします。
- 前提条件
このチュートリアルでは、Debian8のrbenvを介したRubyとRailsのインストールプロセスについて説明します。 To follow this tutorial, you need to have one Debian 8 server with a [non-root user] (initial-server-setup-with-debian-8).
- 依存関係を更新してインストールする
まず、このセッションでapt
を使用するのはこれが初めてなので、apt-get
を更新する必要があります。 これにより、ローカルパッケージキャッシュが確実に更新されます。
sudo apt-get update
次に、rbenvとRubyに必要な依存関係をapt-get
でインストールしましょう。
sudo apt-get install autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev
Gitからrbenvのクローンを作成するため、Gitもインストールします。
sudo apt-get install git-core
必要なシステム依存関係をすべてインストールしたら、rbenv自体のインストールに進むことができます。
- rbenvをインストールします
これで、rbenvをインストールする準備が整いました。 Gitからrbenvリポジトリのクローンを作成しましょう。 これらの手順は、Rubyの実行を計画しているユーザーアカウントから実行する必要があります。
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
ここから、~/.rbenv/bin
を$PATH
に追加して、rbenvのコマンドラインユーティリティを使用できるようにする必要があります。 また、 ~/.rbenv/bin/rbenv init
を~/.bash_profile
に追加すると、rbenvを自動的にロードできます。
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc echo 'eval "$(rbenv init -)"' >> ~/.bashrc
次に、次のように入力してrbenvをソースします。
source ~/.bashrc
type
コマンドを使用して、rbenvが正しく設定されているかどうかを確認できます。このコマンドにより、rbenvに関する詳細情報が表示されます。
type rbenv
ターミナルウィンドウに次の出力が表示されます。
Outputrbenv is a function rbenv () { local command; command="$1"; if [ "$#" -gt 0 ]; then shift; fi; case "$command" in rehash | shell) eval "$(rbenv "sh-$command" "$@")" ;; *) command rbenv "$command" "$@" ;; esac }
新しいバージョンのRubyのインストールプロセスを簡素化するrbenv install
コマンドを使用するには、[ruby-build]( https://github.com/rbenv/ruby-build [ X179X])、Gitを介してrbenvのプラグインとしてインストールします。
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
この時点で、rbenvとruby-buildの両方がインストールされているはずです。これで、Rubyのインストールに進むことができます。
- Rubyをインストールする
ruby-build rbenvプラグインがインストールされたので、簡単なコマンドで必要なバージョンのRubyをインストールできます。 まず、Rubyの利用可能なすべてのバージョンをリストしましょう。
rbenv install -l
そのコマンドの出力は、インストールすることを選択できるバージョンの長いリストである必要があります。
次に、特定のバージョンのRubyをインストールします。 Rubyのインストールには時間がかかる可能性があることを覚えておくことが重要です。そのため、インストールが完了するまでに時間がかかるように準備してください。
ここでの例として、Rubyバージョン2.3.3をインストールしましょう。
rbenv install 2.3.3
別のバージョンをインストールして使用する場合は、rbenv install 2.3.0
やrbenv global 2.3.0
のように、別のバージョン番号でrbenv
コマンドを実行してください。
インストールプロセスには時間がかかる場合があります。 インストールが完了すると、 sammy がユーザーの名前で、同様の出力が表示されます。
Output-> https://cache.ruby-lang.org/pub/ruby/2.3/ruby-2.3.3.tar.bz2 Installing ruby-2.3.3... Installed ruby-2.3.3 to /home/sammy/.rbenv/versions/2.3.3
次に、global
サブコマンドを使用して、インストールしたバージョンをデフォルトバージョンとして設定します。
rbenv global 2.3.3
ruby
コマンドを使用してバージョン番号を確認し、すべての準備が整っていることを確認します。
ruby -v
Rubyのバージョン2.3.3をインストールした場合、上記のコマンドの出力は次のようになります。
Outputruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
これで、少なくとも1つのバージョンのRubyがインストールされ、デフォルトのRubyバージョンが設定されました。 次に、gemとRailsをセットアップします。
- 宝石の操作
Gemsは、Rubyの機能を拡張するパッケージです。 gem
コマンドを使用してRailsをインストールします。
Railsをインストールするプロセスが短くなるように、インストールする各gemのローカルドキュメントをオフにします。 また、アプリケーションの依存関係を管理するために、bundlegemをインストールします。
echo "gem: --no-document" > ~/.gemrc gem install bundler
そのインストールプロセスが完了すると、同様の出力が表示されます。
OutputFetching: bundler-1.13.6.gem (100%) Successfully installed bundler-1.13.6 1 gem installed
gem env
コマンド(サブコマンドenv
はenvironment
の略)を使用して、gemの環境と構成について詳しく知ることができます。 home
引数を使用すると、gemがインストールされている場所を確認できます。これにより、サーバーにgemがインストールされている場所へのパスが表示されます。
gem env home
出力は次のようになります。
/home/sammy/.rbenv/versions/2.3.3/lib/ruby/gems/2.3.0
gemをセットアップしたら、Railsのインストールに進むことができます。
- Railsをインストールする
同じユーザーとして、gem install
コマンドを使用して最新バージョンのRailsをインストールできます。
gem install rails
Railsが最後まで正常にインストールされたことを確認する出力が、このインストールプロセス全体で受信されます。
Railsの特定のバージョンをインストールする場合は、検索を実行してRailsの有効なバージョンを一覧表示できます。これにより、可能なバージョンの長いリストが出力されます。 次に、4.2.7などの特定のバージョンをインストールできます。
gem search '^rails$' --all gem install rails -v 4.2.7
rbenvは、 shims のディレクトリを作成することによって機能します。このディレクトリは、現在有効になっているRubyバージョンで使用されるファイルを指します。 rehash
サブコマンドを介して、rbenvはそのディレクトリにシムを維持し、サーバーにインストールされているすべてのバージョンのRubyのすべてのRubyコマンドと一致させます。 新しいバージョンのRubyまたはコマンドを提供するgemをインストールするときはいつでも、以下を実行する必要があります。
rbenv rehash
これが成功すると出力がないため、次のコマンドを使用してバージョンを印刷することで、Railsが正しくインストールされていることを確認できます。
rails -v
正しくインストールされていれば、インストールされたRailsのバージョンが表示されます。 これで、RubyonRails環境のセットアップを続行できます。
- JavaScriptランタイムをインストールする
Asset PipelineなどのいくつかのRails機能は、JavaScriptランタイムに依存しています。 この機能を提供するためにNode.jsをインストールします。
まず、/tmp
などの書き込み可能なディレクトリに移動できます。 そこから、Node.jsスクリプトをファイルに出力して検証し、less
で読み取ります。
cd /tmp \curl -sSL https://deb.nodesource.com/setup_6.x -o nodejs.sh less nodejs.sh
Node.jsスクリプトに満足したら、q
と入力して、less
を終了できます。
これで、NodeSourceNode.jsv6.xリポジトリをインストールできます。
cat /tmp/nodejs.sh | sudo -E bash -
ここで使用される-E
フラグは、ユーザーの既存の環境変数を保持します。
インストールが完了したら、apt-get
を使用してNode.Jsをインストールできます。
sudo apt-get install -y nodejs
この時点で、Ruby on Railsインストールのテストを開始し、Webアプリケーションの開発を開始できます。
- rbenvの更新
Gitを使用してrbenvを手動でインストールしたので、いつでもインストールを最新バージョンにアップグレードできます。
cd ~/.rbenv git pull
これにより、利用可能な最新バージョンのrbenvを使用できるようになります。
- Rubyバージョンのアンインストール
Rubyのバージョンをさらにダウンロードすると、~/.rbenv/versions
ディレクトリに必要以上のバージョンが蓄積される可能性があります。
ruby-buildプラグインを使用して、uninstall
サブコマンドで削除プロセスを自動化します。 たとえば、Ruby 2.1.3 をインストールした場合、これを入力するとアンインストールされます。
rbenv uninstall 2.1.3
rbenv uninstall
コマンドを使用すると、Rubyのバージョンをクリーンアップして、現在使用している以上のインストールが行われないようにすることができます。
- 詳細
ここでは、複数のRuby環境を使用できるように、rbenvとRubyonRailsをインストールする方法の基本について説明しました。 As your needs grow, you can also learn how to [scale Ruby on Rails applications across multiple servers] (how-to-scale-ruby-on-rails-applications-across-multiple-droplets-part-1).