81 votes

Comment "activer" une version différente d'un joyau particulier?

Je souhaite basculer entre les rails 2.3.10 en tant que gem "actif" pour mon système d'exploitation, afin de pouvoir l'invoquer en ligne de commande.

Est-il possible de faire cela? Je n'utilise pas rvm. Peut-être qu'il est temps de commencer.

J'ai essayé gem install rails --version=2.3.10 , mais cela s'assure simplement que la version de la gemme est installée, elle ne la met pas dans /usr/bin/rails .

(J'utilise déjà bundler pour mes applications - mais je n'ai pas eu besoin de contrôler précisément les gems au niveau du système d'exploitation jusqu'à présent)

148voto

Daniel Vartanov Points 1267

Si votre problème consiste à exécuter des fichiers binaires d’une certaine version, alors:

 rails --version # => the latest version
rails _2.3.10_ --version # => Rails 2.3.10
 

Ce modèle ( gem-binary _gem-version_ ) fonctionne pour tout binaire bijou.

J'espère que ça aide.

11voto

superluminary Points 5496

Utiliser RVM

RVM permet de gérer les différentes versions de Rubis et de pierres précieuses. Vous pouvez installer une version de ruby en utilisant, par exemple

rvm install 1.9.2

Vous pouvez ensuite utiliser à l'aide de:

rvm use 1.9.2

Utiliser des gemmes sur une base par projet avec gemsets.

Si vous souhaitez de plus amples namespacing vous pouvez configurer gemsets; les répertoires qui contiennent des pierres précieuses pour un projet spécifique.

rvm gemset create myproject

ensuite vous pouvez les utiliser comme ceci:

rvm use 1.9.2@myproject

L'automatisation

Pour automatiser le processus de commutation de pierres précieuses, de la pop .ruby-version et .ruby sertie fichiers dans la racine du projet. Pop la version de Ruby et le nom de l'sertie vous souhaitez utiliser à l'intérieur et RVM wil sélectionner le bon sertie lorsque vous cd dans votre répertoire de projet.

L'installation de gemmes dans votre sertie

Installer vos bijoux dans votre sertie dans la manière habituelle, à l'aide de bundler si vous l'utilisez:

bundle install

ou tout simplement à l'aide de l'ordinaire:

gem install mygem

Les gems dans le droit sertie.

RVM Alternatives

Vous pourriez également vouloir vérifier rbenv, qui n'travail similaire.

7voto

Chubas Points 8670

Vous pouvez utiliser RVM

Ensuite, vous pouvez également utiliser Bundler après, qui gère très bien les dépendances gem.

Dans votre Gemfile

 gem "rails", "2.3.10"
 

et dans votre application

 require 'rubygems'
require 'bundler/setup'
 

et tu as fini.

3voto

Sam Ritchie Points 7787

EDIT: Viens de voir votre RVM mentionner dans le post. Certainement le chemin à parcourir.

Vous allez avoir à installer RVM -- c'est une incroyable package qui vous permettra de gérer les différents Rubys et différents ensembles de pierres précieuses sur la même machine. Vous pouvez alterner avec une facilité totale.

Voici le guide d'installation: http://rvm.beginrescueend.com/rvm/install/

Une fois que vous avez tout obtenir, vous pouvez voir tous vos installé rubys à la ligne de commande avec des avec des rvm list, avec interrupteur et rvm use ruby-head, par exemple. RVM garde les gemmes à chaque ruby distincts, ce qui devrait aider avec votre question.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X