2010-06-13 3 views
5

J'aime RVM. Je me rends compte que le principal cas d'utilisation est de permettre à différents utilisateurs de passer d'une version à l'autre de Ruby. Mais disons que je suis en train de déployer une application Rails sur un serveur et que je veux juste qu'une seule version de Ruby soit lancée. En particulier, je veux 1.9.2, ce qui est un jeu d'enfant à installer avec RVM mais une douleur sans cela. Y a-t-il un moyen de dire "Je veux que ce soit l'installation canonique de Ruby pour tous les utilisateurs" (avec toutes ses gemmes) sans avoir à créer un tas de liens symboliques à la main et les changer chaque fois que je mets à jour Libération de Ruby?Puis-je utiliser RVM pour gérer une seule version de Ruby pour tous les utilisateurs?

Répondre

9

Installez RVM en tant que root et effectuez un sudo rvm use 1.9.2 --default. Par défaut, tous les utilisateurs ayant /usr/local/rvm/scripts/rvm auront 1.9.2.

+1

Si vous avez d'autres questions à propos de RVM, il y a des gens prêts à vous aider 24/7 dans le canal #rvm sur freenode: http://webchat.freenode.net/?channels=rvm. –

+0

Je ne suis pas sûr de ce que vous entendez par "Tout utilisateur sourcing'/usr/local/rvm/scripts/rvm' "... Je pense en termes de: Si j'ai un serveur web qui exécute mon application Rails, Je veux être sûr qu'il utilise Ruby 1.9.2 et les gemmes correspondantes. Comment faire en sorte que l'utilisateur du serveur Web utilise RVM? –

+0

Cela dépend vraiment du serveur Web que vous utilisez. Le sourçage consiste à charger ce fichier dans votre environnement (c'est-à-dire à placer la ligne 'source/usr/local/rvm/scripts/rvm' dans votre'/etc/bashrc' ou quelque chose comme ça). S'assurer que votre serveur web utilise 1.9.2 est essentiellement la même chose que de s'assurer qu'il utilise le système ruby: il doit être le premier dans le chemin. Cela, entre autres choses, est ce que l'approvisionnement RVM prend soin de. –

3

Je sais que cela n'a pas tout à fait répondre à votre question, mais:

je suis tombé sur plusieurs problèmes avec l'installation RVM au niveau mondial et d'utiliser un recourus compte utilisateur pour le déploiement et pour tous les processus Ruby/Rails - que les utilisateurs compte existe sur tous les serveurs de développement et de production, et le répertoire .rvm est rsyncé d'un serveur de dev à tous les autres serveurs.

Combien d'utilisateurs différents sur vos serveurs d'applications ont vraiment besoin d'accéder à Ruby 1.9.2? Ne pouvez-vous pas réduire cela à un seul utilisateur? Cela a fonctionné le mieux pour moi.

Note:

Une chose que vous voulez probablement éviter est d'installer RVM sur votre serveur d'application (s) manuellement puis installer Ruby et pierres précieuses sur le serveur d'application ... vous ne souhaitez pas conserver les outils comme cc qui traîne sur vos serveurs de production pour des raisons de sécurité! rsync le répertoire .rvm est beaucoup plus sûr! et le résultat est beaucoup plus cohérent!

Questions connexes