2017-02-20 191 views
0

OpenBSD中的包管理器有一个很好的命名约定,因此没有必要将RVM或RBENV作为Ruby管理器。我已经阅读了文档,似乎Capistrano需要安装RBENV或RVM。在没有Ruby Manager的情况下部署到OpenBSD(RBENV/RVM)

是否可以在Capistrano上使用系统Ruby宝石?

我想保持简单并使用OpenBSD包管理器,但是如果需要Ruby管理器,那么我会使用RBENV。 OpenBSD使用zsh外壳,所以即使安装了RBENV,RBENV脚本也不能执行,因为它基于bash。

如何使RBENV与zsh/OpenBSD兼容?

回答

1

就个人而言,这是一把双刃剑。

你不需要RVM或rbenv,实际上,capistrano需要an extra gem for RVMor this one for rbenv

但是在使用SO包管理器中的红宝石的同时,最终需要安装宝石的sudo,这并不理想,可能会带来安全风险。检查Authorisation docs了解更多信息。

我会使用RVM或rbenv为了有更多sudoless安全的环境。

关于rbenv和zsh,它可以使用zsh,但它可能需要安装bash软件包。对于使用rbenv,您只需要在您的.zshrc中运行init脚本即可使用它。我曾经用zsh亲自使用rbenv。

0

Capistrano不需要rbenv或rvm。

capistrano-rvm/rbenv宝石的存在只允许Capistrano部署在这样的环境中工作。不使用时,部署将使用默认的系统Ruby,这似乎是你想要的。

唯一需要注意的是,您可能需要在系统范围内安装Bundler。您可能会发现,在您的包管理系统中,或需要运行sudo gem install bundler

安装Bundler后,Capistrano会执行Bundler以及--deployment--path标志,以便将所有剩余的Gems安装在您的部署的本地文件夹中。这是为了避免佩德罗提到的sudo问题。

相关问题