J'ai deux versions de Ruby gem.
json (default: 2.0.2, 1.8.6)
Ici, la dernière version est définie par défaut; mais j'ai besoin de json 1.8.6
à définir par défaut. Est-il possible de faire les anciennes versions de la gemme par défaut? car je ne parviens pas à désinstaller la version json par défaut. Besoin d'un changement entre les versions de gemmes disponibles.
Vérifiez ce que vous avez avec:
gem list json
Réglez celui que vous voulez:
gem install --default -v1.8.6 json
C'est très utile pour des choses comme "bundler" !!! Pour d'autres choses, l'utilisation de bundler et d'un Gemfile est probablement un meilleur choix.
Ajouter
gem 'json', '1.8.6'
à votre Gemfile
ou exécutez
gem install 'json' -v 1.8.6 # may require Sudo if you use system Ruby
du terminal.
Un Gemfile
est un must mais ne suffit pas. Vous devez également changer la ligne
require 'json'
à
require 'bundler/setup'
Bundler.require :default
Cela nécessitera toutes les gemmes spécifiées dans votre Gemfile
cela sans group
.
Ajoutez ceci votre Gemfile
gem 'json', '1.8.6'
Maintenant, exécutez cela dans votre ligne de commande
bundle update
Cela devrait définir la version dont vous avez besoin
Puisque vous utilisez RVM pour gérer vos versions Ruby, comme vous l'avez dit dans les commentaires, il existe une solution simple: créer un bundle privé pour cette application et installer uniquement la version de la gemme dont vous avez besoin dans ce bundle.
Voici comment vous pouvez le faire:
1) Entrez le répertoire de votre application;
2) Tapez la commande suivante
rvm use Ruby-2.4.0@your_app_name --Ruby-version --create
(Je suppose que vous utilisez Ruby 2.4.0. Si ce n'est pas votre version, remplacez-la en conséquence dans la commande ci-dessus, s'il vous plaît.)
3) Installer le joyau du bundler
gem install bundler
4) Assurez-vous que votre Gemfile déclare la version de la gemme dont vous avez besoin. Dans ce cas, il doit avoir la ligne:
gem "json", "1.8.6"
5) Maintenant, lancez
bundle install
Et vous avez terminé!
AVERTISSEMENT: Cette procédure s'assurera que le json gem
sera la version 1.8.6. Mais vous pourriez avoir des problèmes avec votre bundle install
si un autre joyau installé nécessite une version plus récente de json gem
. Dans ce cas, vous devrez résoudre ce conflit d'une autre manière.
Pour en savoir plus sur les différents bundles pour différentes applications, lisez this .
J'espère que ça aide.