2017-02-20 2 views
0

Le gestionnaire de paquets dans OpenBSD a une bonne convention de nommage, il n'est donc pas nécessaire d'inclure RVM ou RBENV en tant que gestionnaire Ruby. J'ai lu les docs et il semble que Capistrano exige que RBENV ou RVM soit installé.Déploiement vers OpenBSD sans Ruby Manager (RBENV/RVM)

Est-il possible d'utiliser le système Ruby Gemmes avec Capistrano? Je voudrais rester simple et utiliser le gestionnaire de paquets OpenBSD, mais si un gestionnaire Ruby est requis, alors j'utiliserais RBENV. OpenBSD utilise le shell zsh, donc même en installant RBENV, le script RBENV ne peut pas s'exécuter car il est basé sur bash. Comment puis-je rendre compatible RBENV avec zsh/OpenBSD si?

Répondre

1

Personnellement, c'est une épée à double tranchant.

Vous n'avez pas besoin RVM ou Rbenv, en fait, capistrano nécessite an extra gem for RVMor this one for rbenv. Mais en même temps, lorsque vous utilisez ruby ​​à partir de votre gestionnaire de paquets SO, vous avez besoin de sudo pour installer des gemmes qui ne sont pas idéales et qui pourraient poser un risque de sécurité. Consultez le Authorisation docs pour plus d'informations à ce sujet.

J'utiliserais RVM ou rbenv afin d'avoir un environnement plus sécurisé sudoless. A propos de rbenv et de zsh, cela fonctionne avec zsh mais il faudra peut-être installer le paquet bash. Pour utiliser rbenv, il suffit de lancer le script init dans votre .zshrc pour l'utiliser. J'ai personnellement utilisé rbenv dans le passé avec zsh.

0

Capistrano ne nécessite pas rbenv ou rvm.

Les gammes capistrano-rvm/rbenv existent uniquement pour permettre à un déploiement Capistrano de fonctionner dans un tel environnement. Lorsqu'il n'est pas utilisé, le déploiement utilisera le système par défaut Ruby, qui semble être ce que vous voulez. Le seul inconvénient est que vous aurez probablement besoin d'installer Bundler à l'échelle du système. Vous pourriez trouver cela dans votre système de gestion de paquets, ou besoin d'exécuter sudo gem install bundler. Une fois Bundler installé, Capistrano exécute Bundler avec les indicateurs --deployment et --path afin d'installer tous les Gems restants dans un dossier local pour votre déploiement. C'est pour éviter le problème de sudo mentionné par Pedro.