インストールについて説明する前に、 rbenvに満足している理由と、 RVMに切り替えた理由を説明します。
私のプロジェクトの1つでは、cronを使用してrakeタスクを定期的に実行する必要がありました。 whenewer gemを使用して、crontabでcronのタスクを作成し、 書き留めました 。 それから私はまだRVMを使用し、cronはログに次のようなものを書きました。
bundle: command not found
Googleを使用して解決策を検索しましたが、同じ問題の言及がなかったときに問題が見つかりました。 チケットはクローズされ、すべてがrbenvで機能することが言及されました 。 rbenvをインストールしましたが、追加設定なしで、cronタスクが思いどおりに機能し始めました。 その日から、新しいプロジェクトではrbenvのみを使用します。
さて、今トピックについて。
rbenvをインストールする
私はこのOSをデスクトップおよびサーバーで使用しているため、Ubuntuでのインストールプロセスについて説明します。 ステップバイステップで、新しいUbuntu Server 12.04へのフルインストールを検討してください。
まず、gitとcurlをインストールします。
sudo apt-get -y install git-core curl
次に、インストールスクリプトをダウンロードして実行します。
curl -L raw.github.com/fesplugas/rbenv-installer/master/bin/rbenv-installer | bash
このスクリプトはrbenvだけでなく、ruby-buildとrbenv-varsもインストールします。
次に、ホームディレクトリにある.bashrcファイルに次のコードを追加します。
if [ -d $HOME/.rbenv ]; then
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
fi
このコードを行の前に置くことが非常に重要です。
# If not running interactively, don't do anything
[ -z "$PS1" ] && return
コメントには、インタラクティブに実行されていなければ何もしません。
確かに、このニュアンスのために、cronはRVMがインストールされたバンドルを見つけることができませんでした。バンドル自体はファイルの最後に書き込まれます。 rvmノートには次のように書かれています:
他のシェルでRVMをインタラクティブに使用したい場合は、すべてのPATH /変数設定の後、シェルの読み込みファイル(bashの場合は.bashrcまたは.bash_profile、zshの場合は.zshenv)の最後に次の行を配置します
おそらく、.bashrcの先頭でもRVMを初期化すると、cronはバンドルが何であるかを見つけますが、ときどきテストすることもありますが、最終的にrbenvに切り替えました。
.bashrcを保存した後、次のコマンドでリロードする必要があります。
. ~/.bashrc
Rbenvを使用する準備ができました。
Rubyに必要なものをすべてインストールします
Ubuntuでrubyが適切に動作するには、最初に一連のパッケージをインストールする必要があることは誰もが知っています。 RVMには、インストールする必要があるものを見つけるのに役立つrvm要件コマンドがあります。 rbenvでは、このステップはより便利に編成されています。
rbenv bootstrap-ubuntu-12-04
このコマンドは、必要なすべてのパッケージをインストールします。その後、目的のバージョンのRubyをインストールできます。
Rubyをインストールする
ここで、 Tabキーでrbenvで使用できるコマンドを確認できます。また、rubyをインストールする前に、 rbenv installコマンドを入力した後にタブをクリックして、使用可能なバージョンを確認できます。
Rubyの最新バージョンをインストールします。
rbenv install 1.9.3-p194
インストール時にお茶を飲むことができ、完了するとシステムにインストールされたバージョンのRubyが作成されます。
rbenv global 1.9.3-p194
最後の仕上げ
次に、gemsets、bandr、およびrakeをインストールします。
rbenv bootstrap
最後に、 rbenv rehashを実行して、バンドル実行可能ファイルにアクセスします。
実際、これはサーバーにとって十分です。 今では本格的なルビーがあり、cronでも見ることができます。
作業中のマシンには、 rbenv-bundlerをインストールして、同じannotateの前にbundle execを書き込まないようにします。
プロジェクトページでインストールと使用について読むことができます 。
トピックに関するリンク
- rbenv -rbenv-a自体のページ
- rbenv-installer-この記事のヒーローページ
- rbenv-bundler -bundle execの作成を好まない人向けのプラグイン
- Railscast#335:VPSへの展開 -このスキルンキャストでは、Ryan Bates(Ryan Bates)がRoR用の本格的なサーバーをインストールして構成する方法を説明します。