Rbenv与乘客一起生产

时间:2012-03-12 15:33:33

标签: ruby rbenv

我正在尝试在我的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)的一些内容,但我想知道什么是最佳实践。

使用部署用户或系统范围安装它是否更好?对于部署用户,似乎所有用户都无法使用rubies,即使我使用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命令,无法编译。

那么,我该怎么办?我想将它用于我的生产服务器,以便将来可以轻松切换红宝石。

2 个答案:

答案 0 :(得分:1)

我个人会去部署用户路线并使用rbenv-sudo插件来处理边缘情况,例如乘客安装,厨师或类似的东西。我认为大多数人不使用rbenv或rvm进行生产,这就是lot of people are stuck on 1.8的原因。这是一种耻辱,因为如你所说,轻松切换Ruby版本会很好。话虽如此,生产不应该经常切换Ruby吗?您可以使用Ruby源中的配置标志轻松地自行管理ruby版本。只是不要安装到/ usr / bin。

Sstephenson说,共享安装在该共享安装的rbenv链接中是实验性的。 Rbenv global不会跨用户帐户执行任何操作。它在用户帐户中是全局的。

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

答案 1 :(得分:0)

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