He instalado ruby 1.9.3 usando hombrew
brew instalar ruby
Pero todavía se usa 1.8.7 por defecto. ¿Cómo puedo cambiar osx para usar 1.9.3 como ruby predeterminado?
Te sugiero que eches un vistazo a rvm . A continuación, puede configurarlo como predeterminado conrvm use 1.9.3 --default
Pero si está satisfecho con su instalación casera.
Luego, simplemente cambie la precedencia de los directorios en el PATH
Aquí está mi / etc / caminos
# homebrews should always take precedence
/usr/local/bin
# the default stack
/usr/bin
/bin
/usr/sbin
/sbin
Esto es importante generalmente para homebrew, de lo contrario, se usará la versión del sistema de git, ruby, pg_admin, ... en lugar de la versión brew.
si dice which -a ruby
que verá todos los rubíes instalados y la precedencia en elPATH
p.ej.
$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby
/etc/paths
En su lugar, debe verificar cuál de .profile
, .bashrc
o .bash_login
se está cargando en su shell, y simplemente agregarlo /usr/local/bin
a su ruta.
Para mí, solo tengo un .profile
. Puede crear ese archivo si ninguno de esos archivos ya existe en su directorio de inicio.
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
brew upgrade git
, pero la versión no cambió. Resulta que nunca usé la versión de preparación)RESPUESTA CORTA:
después de instalar ruby a través de homebrew, simplemente haz esto:
y reinicia o vuelve a abrir tu Terminal
RESPUESTA LARGA
Así que hice una instalación normal de ruby usando homebrew
que se instaló bien, PERO todavía estaba usando el ruby predeterminado del sistema. que verifiqué haciendo:
which ruby #/usr/bin/ruby
Entonces, según la sugerencia de Matthew Rudy, verifiqué el orden de mis rutas / etc / y todo fue bien.
Entonces decidí hacer:
which -a ruby #/usr/bin/ruby #usr/local/bin/ruby
así que nada se rompió como tal. Intenté reinstalar ruby nuevamente usando el método homebrew, y luego lo encontré.
Homebrew mencionado:
Warning: ruby-2.3.1 already installed, it's just not linked
así que tenía que hacer:
fuente
ruby --version
le mostrará una versión desactualizada.hash -r
?Si desea utilizar homebrew para instalar 1.9.3, puede seguir estos pasos:
$ brew update $ brew install rbenv $ brew install ruby-build
Una vez que haya instalado rbenv y ruby-build, puede ejecutar el siguiente comando para instalar Ruby 1.9.3.
$ rbenv install 1.9.3-p125
Ahora, si desea utilizar 1.9.3 de forma predeterminada, puede ejecutar el siguiente comando:
$ rbenv global 1.9.3-p125
fuente
Tuve una situación similar. Instalé ruby usando Homebrew.
which -a ruby
me dio el siguiente resultado:#usr/local/bin/ruby #/usr/bin/ruby
Lo que significa que debería haberse utilizado la versión recién instalada, pero
ruby --version
aún así devolvió la versión anterior del sistema.Salí de la terminal (Cmd + Q) y, después de reiniciar,
ruby --version
devolví la versión correcta. Así que asegúrese de reiniciar el terminal después de la instalación antes de intentar cualquier otra solución (potencialmente innecesaria).fuente
BREVE: tenga en cuenta por qué desea cambiarlo.
Si estás en OS X e intentas usar Ruby para algo como Jekyll, entonces no uses homebrew porque eso es lo que Apple está usando para Ruby y puede que no sea bueno usarlo si no estás seguro de lo que estás usando. haciendo. En su lugar, utilice rbenv o RVM.
MENOS BREVE: estaba intentando cambiar de la versión predeterminada a una versión actualizada (de 2.0) para usar Jekyll porque requería Ruby versión 2.2.5 y superior. Lo actualicé y se instaló la versión 2.5, pero cuando marqué "ruby -v", todavía era 2.0. Una vez que finalmente logré cambiar la versión predeterminada, no pude instalar el paquete que necesitaba porque no tenía permiso de escritura. Por ejemplo, si te encuentras con algo como esto, probablemente tengas el mismo problema
$ 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.
fuente
En OSX puede cambiar la ruta usando:
sudo nano / etc / rutas
Y luego agregue una ruta o cambie el orden.
fuente
Solo como un enfoque alternativo para cualquier otra persona que busque una respuesta a esto, puede establecer un alias en su .bash_profile, por ejemplo
ruby="/usr/local/bin/ruby"
así es como solucioné el problema
fuente