web-dev-qa-db-fra.com

Comment puis-je passer à Ruby 1.9.3 installé avec Homebrew?

J'ai installé Ruby 1.9.3 avec homebrew

mais la valeur par défaut 1.8.7 est toujours utilisée. Comment puis-je changer pour utiliser 1.9.3 comme ruby ​​par défaut?

But default 1.8.7 is still used. How can I switch osx to use 1.9.3 as default ruby?

70
Alexey Zakharov

Je vous suggère de regarder rvm . Vous pouvez ensuite le définir par défaut avec rvm use 1.9.3 --default

Mais si vous êtes satisfait de votre installation homebrew.

Ensuite, changez simplement la priorité des répertoires dans la variable PATH

Voici mes/etc/chemins

# homebrews should always take precedence
/usr/local/bin

# the default stack
/usr/bin
/bin
/usr/sbin
/sbin

Ceci est généralement important pour les homebrews, sinon la version système de git, Ruby, pg_admin, ... sera utilisée à la place de la version brassée.

si vous dites which -a Ruby, vous verrez tous les rubis installés et la priorité dans la PATH

par exemple.

$ which -a Ruby
/Users/matthew/.rvm/rubies/Ruby-1.9.3-p0/bin/Ruby
/Users/matthew/.rvm/bin/Ruby
/usr/bin/Ruby


UPDATE: Je ne pense pas que tu devrais changer /etc/paths

Au lieu de cela, vous devez vérifier lequel de .profile, .bashrc ou .bash_login est chargé dans votre shell et ajoutez simplement /usr/local/bin à votre chemin.

Pour moi, je n'ai qu'un .profile. Vous pouvez créer ce fichier si aucun de ces fichiers n'existe déjà dans votre répertoire de base.

# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
85
Matthew Rudy

RÉPONSE COURTE:

après avoir installé Ruby via homebrew, procédez comme suit:

brew link --overwrite Ruby

et redémarrez ou rouvrez votre terminal


LONGUE RÉPONSE

J'ai donc fait une installation normale de Ruby en utilisant homebrew

brew install Ruby

cela a bien été installé MAIS il utilisait toujours le système par défaut Ruby . que j'ai vérifié en faisant:

which Ruby 
#/usr/bin/Ruby

Donc, selon la suggestion de Matthew Rudy, j'ai vérifié l'ordre de mes chemins/etc /, et tout était bien.

Puis j'ai décidé de faire:

which -a Ruby
#/usr/bin/Ruby
#usr/local/bin/Ruby

donc rien n’a été cassé en tant que tel… ..a essayé de réinstaller Ruby à nouveau en utilisant la méthode homebrew, puis je l’ai trouvée.

Homebrew a mentionné:

Warning: Ruby-2.3.1 already installed, it's just not linked

donc dû faire:

brew link --overwrite Ruby
49
Craig Wayne

Si vous souhaitez utiliser homebrew pour installer la version 1.9.3, procédez comme suit:

$ brew update
$ brew install rbenv
$ brew install Ruby-build

Une fois que vous avez installé rbenv et Ruby-build, vous pouvez exécuter la commande suivante pour installer Ruby 1.9.3.

$ rbenv install 1.9.3-p125

Maintenant, si vous souhaitez utiliser 1.9.3 par défaut, vous pouvez exécuter la commande suivante:

$ rbenv global 1.9.3-p125
42
Francis Kim

J'ai eu la même situation. J'ai installé Ruby avec Homebrew. which -a Ruby m'a donné la sortie suivante: 

#usr/local/bin/Ruby
#/usr/bin/Ruby

Ce qui signifie que la version nouvellement installée aurait dû être utilisée, mais Ruby --version a quand même renvoyé l'ancienne version du système.

J'ai quitté le terminal (Cmd + Q), et après le redémarrage, Ruby --version a renvoyé la version correcte. Assurez-vous donc de redémarrer le terminal après l’installation avant d’essayer d’autres corrections (potentiellement inutiles).

5
Andrii Chernenko

SHORT: Notez ce que vous voulez changer. 

Si vous utilisez OS X et que vous essayez d’utiliser Ruby pour quelque chose comme Jekyll, n’utilisez pas d’homebrew, c’est ce que Apple utilise pour Ruby et il n’est peut-être pas bon de l’utiliser si Faire. Au lieu de cela, utilisez rbenv ou RVM.

MOINS COURT: J'essayais de passer de la version par défaut à une version mise à jour (à partir de la version 2.0) pour utiliser Jekyll car elle nécessitait Ruby version 2.2.5 et ultérieure. Je l'ai mis à jour et la version 2.5 était installée, mais quand j'ai coché "Ruby -v", c'était toujours 2.0. Une fois que j’ai enfin eu le temps de changer la version par défaut, je n’ai pas pu installer le paquet dont j’avais besoin parce que je n’avais pas l’autorisation d’écrire. Par exemple, si vous rencontrez quelque chose comme ça, alors vous avez probablement le même problème

$ gem install jekyll bundler
ERROR:  While executing gem ... (Gem::FilePermissionError)    
    You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
1
Richard Lin

Sous OSX, vous pouvez modifier le chemin en utilisant:

Sudo nano/etc/chemins

Et puis ajoutez un chemin ou changez l'ordre.

0
Robert