web-dev-qa-db-fra.com

Comment désinstaller Ruby à partir de/usr/local?

Tout fonctionnait bien, jusqu'à ce que nous décidions d'améliorer Ruby de 1.8.6 à 1.8.7, et c'est alors que l'enfer s'est déchaîné. Lorsque nous avons compilé Ruby 1.8.7 à partir des sources, il a été installé dans/usr/local/bin et Ruby 1.8.6 est resté dans/usr/bin. Actuellement, nous avons désinstallé Ruby 1.8.6 et d’un coup nous avons supprimé les fichiers Ruby 1.8.7 de/usr/local.

lorsque nous essayons de savoir "Ruby", il pointe vers /usr/local.Si quelqu'un peut nous aider pour ce que nous devons faire pour revenir sur nos pas, nous vous en serions très reconnaissants.et aussi une idée de la façon de désinstaller Ruby/usr/local. Nous avons essayé de supprimer Ruby, qui a supprimé Ruby de /usr/bin.Thanks and Cheers! 

19
Shreyas

Ce n'est pas une bonne idée de désinstaller 1.8.6 si c'est dans /usr/bin. Cela appartient à l'OS et devrait être là. 

Si vous mettez /usr/local/bin dans votre PATH avant /usr/bin, les éléments que vous avez installés dans /usr/local/bin seront trouvés avant ceux portant le même nom dans /usr/bin, les écrasant ou les mettant à jour, sans le faire réellement. Vous pouvez toujours les atteindre en utilisant explicitement /usr/bin dans votre #! ligne d'appel d'interprète en haut de votre code.

@Anurag a recommandé d'utiliser RVM, que je partagerai avec vous. Je l'utilise pour gérer les versions 1.8.7 et 1.9.1 en plus de la version 1.8.6 du système d'exploitation.

11
the Tin Man

Edit: Comme suggéré dans les commentaires. Cette solution est pour Linux OS. Cela aussi si vous avez installé Ruby manuellement à partir de package-manager. 

Si vous voulez avoir plusieurs versions de Ruby, il vaut mieux avoir VRM . Dans ce cas, vous n'avez pas besoin de supprimer l'ancienne version de Ruby.

Toujours si vous voulez supprimer, suivez les étapes ci-dessous:

D'abord, vous devriez trouver où est Ruby:

whereis Ruby

listera tous les endroits où il existe sur votre système, vous pourrez alors les supprimer explicitement. Ou vous pouvez utiliser quelque chose comme ceci: 

rm -rf /usr/local/lib/Ruby
rm -rf /usr/lib/Ruby
rm -f /usr/local/bin/Ruby
rm -f /usr/bin/Ruby
rm -f /usr/local/bin/irb
rm -f /usr/bin/irb
rm -f /usr/local/bin/gem
rm -f /usr/bin/gem
21

Créez un symlink at/usr/bin nommé 'Ruby' et pointez-le vers le dernier Ruby installé.

Vous pouvez utiliser quelque chose comme ln -s /usr/bin/Ruby /to/the/installed/Ruby/binary

J'espère que cela t'aides.

2
intellidiot

Si Ruby a été installé de la manière suivante:

./configure --prefix=/usr/local
make
Sudo make install

Vous pouvez le désinstaller de la manière suivante:

Vérifiez la version installée de Ruby; supposons que 2.1.2

wget http://cache.Ruby-lang.org/pub/Ruby/2.1/Ruby-2.1.2.tar.bz2
bunzip ...
tar xfv ...
cd Ruby-2.1.2
./configure --prefix=/usr/local
make
Sudo checkinstall
  # will build deb or rpm package and try to install it

Après l'installation, vous pouvez maintenant supprimer le paquet et les répertoires/fichiers/etc.

Sudo rpm -e Ruby # or dpkg -P Ruby (for Debian-like systems)

Il pourrait rester des artefacts:

Removing Ruby ...
  warning: while removing Ruby, directory '/usr/local/lib/Ruby/gems/2.1.0/gems' not empty so not removed.
  ...

Supprimez-les manuellement.

1
Paweł Gościcki

faire de cette façon:

Sudo apt purge Ruby
1
Luan D

Sudo make uninstall a fait le bon travail pour moi en utilisant le Ruby 2.4 tar de la page des téléchargements officiels.

0
max pleaner