4

生産用に Debian 6 システムに rbenv をインストールしようとしています。これを行う最善の方法は何ですか?github wiki ページ (https://github.com/sstephenson/rbenv/wiki/Using-rbenv-in-production およびhttps://github.com/sstephenson/rbenv/wiki/shared-install- of-rbenv )、しかし、ベストプラクティスは何だろうと思っています。

deploy ユーザーまたはシステム全体でインストールする方が良いですか? rbenv global 1.9.3-p125展開ユーザーでは、ルビーをインストールしてgemコマンドも使用できない場合でも、すべてのユーザーがルビーを使用できるわけではないようです。これは私のパスにあるものでなければなりません。

if [[ -d $HOME/.rbenv ]]; then
  export PATH="$HOME/.rbenv/bin:$PATH"
  eval "$(rbenv init -)"
fi

私の展開ユーザーの.bashrcファイルで。パッセンジャー/アパッチは私のルビーがどこにあるか知っていますか? Apacheはwww-dataユーザーと一緒に実行されているためです。

システム全体のインストール (上記の共有インストール リンクを参照) で、rbenv コマンドが見つからず、コンパイルできないという奇妙なエラーが発生しました。

それで、私は何をすべきですか?将来、ルビーを簡単に切り替えられるように、本番サーバーに使用したいと考えています。

4

2 に答える 2

1

私は個人的に deploy user ルートに行き、rbenv-sudo プラグインを、passenger-install、chef などのエッジ ケースに使用します。大多数の人は本番環境で rbenv や rvm を使用していないと思います。そのため、多くの人が 1.8 で立ち往生しています。おっしゃる通り、Rubyのバージョンを簡単に切り替えられると良いので残念です。そうは言っても、プロダクションはRubyを頻繁に切り替えるべきではありませんよね?Ruby ソースから構成フラグを使用することで、Ruby のバージョンを自分で簡単に管理できます。/usr/bin にインストールしないでください。

Sstephenson は、shared-install-of-rbenv リンクで共有インストールが実験的であると言います。Rbenv global は、ユーザー アカウント間では何もしません。これは、ユーザー アカウント内でグローバルです。

deploy ユーザー以外に、本番環境で必要なアカウントはいくつですか?

于 2012-09-21T15:11:08.767 に答える