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),但我想知道最好的做法是什么。

使用部署用户或系统范围安装它更好吗?对于部署用户,似乎并非所有用户都可以使用红宝石,即使我安装它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 命令并且无法编译。

所以我该怎么做?我想将它用于我的生产服务器,以便将来可以在 rubies 之间轻松切换。

4

2 回答 2

1

我个人会走部署用户路线并将 rbenv-sudo 插件用于边缘情况,例如乘客安装、厨师或类似的事情。我认为大多数人不使用 rbenv 或 rvm 进行生产,这就是为什么很多人坚持使用 1.8 的原因。很遗憾,因为正如您所说,轻松切换 Ruby 版本会很好。话虽这么说,生产不应该经常切换 Ruby,对吧?通过使用来自 Ruby 源的配置标志,您可以非常轻松地自己管理 ruby​​ 版本。只是不要安装到 /usr/bin 中。

Sstephenson 说共享安装在 shared-install-of-rbenv 链接中是实验性的。Rbenv global 不会跨用户帐户做任何事情。它在用户帐户中是全局的。

在部署用户之外,您在生产中需要多少个帐户?

于 2012-09-21T15:11:08.767 回答
0

您应该指定用户(该乘客使用)对您的 rbenv 具有访问权限。

于 2013-05-07T23:04:29.067 回答