Je veux basculer entre les rails 2.3.10 en tant que gemme "active" pour mon OS, afin de pouvoir l'invoquer en ligne de commande.
Est-il possible de faire cela? Je n'utilise pas rvm. Il est peut-être temps de commencer.
J'ai essayé gem install rails --version=2.3.10
, mais cela garantit simplement que la version de la gemme est installée, elle ne la met pas /usr/bin/rails
.
(J'utilise déjà le bundler pour mes applications - mais je n'ai pas eu besoin de contrôle précis sur les gemmes au niveau du système d'exploitation jusqu'à présent)
ruby-on-rails
ruby
rubygems
rvm
John Bachir
la source
la source
rackup _1.4.3_ --version
<br>Rack 1.1 (Release: 1.4)
Rack.version
etRack.release
github.com/rack/rack/blob/master/lib/rack.rb ). Essayezgem install rack --version=1.3 && rackup _1.3.0_ --version
, il imprimeraRack 1.1 (Release: 1.3)
which rackup | xargs cat
Utiliser RVM
RVM vous permet de gérer différentes versions de Ruby et Gems. Vous pouvez installer une version de ruby en utilisant, par exemple
rvm install 1.9.2
Vous pouvez ensuite l'utiliser en utilisant:
rvm use 1.9.2
Utilisez des gemmes spécifiques par projet avec des ensembles de gemmes.
Si vous voulez plus d'espacement de noms, vous pouvez configurer des gemsets; répertoires qui contiendront des gemmes spécifiques pour un projet spécifique.
alors vous pouvez les utiliser comme ceci:
rvm use 1.9.2@myproject
Automatisation
Pour automatiser le processus de changement de gemmes, insérez les fichiers .ruby-version et .ruby-gemset à la racine de votre projet. Pop la version de Ruby et le nom du jeu de gemmes que vous souhaitez utiliser à l'intérieur et RVM sélectionnera le jeu de gemmes correct lorsque vous effectuez un cd dans le répertoire de votre projet.
Installer des gemmes dans votre ensemble de gemmes
Installez vos gemmes dans votre ensemble de gemmes de la manière habituelle en utilisant bundler si vous l'utilisez:
ou simplement en utilisant l'ancien classique:
Les gemmes iront dans le bon jeu de gemmes.
Alternatives RVM
Vous voudrez peut-être également consulter rbenv, qui fait un travail similaire.
la source
Vous pouvez utiliser RVM
Ensuite, vous pouvez également utiliser Bundler par la suite, qui gère correctement les dépendances de gemmes.
Dans votre
Gemfile
gem "rails", "2.3.10"
et dans votre application
require 'rubygems' require 'bundler/setup'
et tu as fini.
la source
bundle exec warble
EDIT: Je viens de voir votre mention RVM dans le post. Certainement la voie à suivre.
Vous allez vouloir installer RVM - c'est un package incroyable qui vous permettra de gérer différents Rubys et différents ensembles de gemmes sur la même machine. Vous pouvez basculer entre les deux en toute simplicité.
Voici le guide d'installation: http://rvm.beginrescueend.com/rvm/install/
Une fois que vous avez tout activé, vous pouvez voir tous vos rubys installés sur la ligne de commande avec avec
rvm list
, et basculer avecrvm use ruby-head
, par exemple. RVM sépare les gemmes de chaque rubis, ce qui devrait vous aider à répondre à votre question.la source