Necesito actualizar mi versión ruby de 2.0.0 a la última versión, no puedo usar algunas gemas porque mi versión no está actualizada. Hace un tiempo utilicé Homebrew para instalar Ruby. ¿Cómo puedo actualizar mi versión de Ruby?
377

which rvmowhich rbenven su línea de comandobrew install rubyes suficiente. marque aquíRespuestas:
Abre tu terminal y corre
Cuando esto se complete, debe reiniciar su terminal para que el
rvmcomando funcione.Ahora corre
rvm list knownEsto muestra la lista de versiones del rubí.
Ahora, corre
rvm install ruby@latestpara obtener la última versión de ruby.Si escribe
ruby -ven la terminal, debería verruby X.X.X.Si aún te muestra
ruby 2.0., corrervm use ruby-X.X.X --default.fuente
\curl -sSL https://get.rvm.io | bash -s stable --rubySolución única de preparación
Actualizar:
De los comentarios (felicitaciones a Maksim Luzik), no lo he probado, pero parece una solución más elegante:
Respuesta original:
Tarde a la fiesta, pero usar cerveza es suficiente. No es necesario instalar rvm y para mí simplemente complica las cosas.
En
brew install rubyrealidad estás instalando la última versión (actualmente v2.4.0). Sin embargo, su ruta encuentra primero 2.0.0. Para evitar esto, simplemente cambie la precedencia ( fuente ). Lo hice cambiando~/.profiley configurando:export PATH=/usr/local/bin:$PATHDespués de esto, descubrí que la gema del paquete seguía usando la versión 2.0.0, simplemente instálala de nuevo:
gem install bundlerfuente
brew link --overwrite rubyoverwriteversión ruby, puedes escribirbrew unlink ruby && brew link rubybrew link --overwrite rubyconduce aWarning: Refusing to link macOS-provided software: rubyRecomiendo rbenv * https://github.com/rbenv/rbenv
* Si esto cumple con sus criterios: https://github.com/rbenv/rbenv/wiki/Why-rbenv? :
INSTALACIÓN
Instalar Homebrew http://brew.sh
Entonces:
Establecer la versión global:
Establezca la versión local de su repositorio agregando
.ruby-versional directorio raíz de su repositorio:Para MacOS visite este enlace
fuente
ruby -vrbenv global ...brew install rbenvEjecutarrbenv inity agrega una línea a .bash_profile como dice. Después de eso, vuelva a abrir su ventana de terminal, hagarbenv install 2.3.1,rbenv global 2.3.1y rbenv hará su trabajorbenv rehashdespués derbenv globaltrabajar para mírbenv init,ruby -vgenera la versión correcta 2.1.2, pero las ejecuciones del paquete encuentran algún error como estepaperclip-5.0.0.beta1 requires ruby version >= 2.1.0, which is incompatible with the current version, ruby 2.0.0p648. Finalmente lograr que funcione con una serie derbenv rehash. Gracias @SeanTerminal abierta:
¡Funciona!
fuente
Forma rápida de actualizar ruby a v2.4 +
o
fuente
/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in '<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gemPuede especificar la última versión de ruby mirando https://www.ruby-lang.org/en/downloads/
Obtenga la última versión:
curl -sSL https://get.rvm.io | bash -s stable --rubyInstalarlo:
rvm install 2.2Úselo por defecto:
rvm use 2.2 --defaultO ejecute el último comando de ruby:
fuente
rbenvno funcionabarbenvNO funcionóSi tiene Mac OS e
Brewinstalado, puede intentar el siguiente comando,fuente
En caso de que alguien obtenga el mismo error que yo hice: "La instalación de requisitos falló con el estado: 1." esto es lo que debe hacer:
Instale Homebrew (por alguna razón podría no funcionar automáticamente) con este comando:
Luego proceda a instalar rvm nuevamente usando
Salga y vuelva a abrir Terminal y luego:
fuente
Agregue rbenv a bash para que se cargue cada vez que abra una terminalbrew install rbenv ruby-buildecho 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
Instala Rubysource ~/.bash_profilerbenv install 2.6.5rbenv global 2.6.5
Enlace a la página de origenruby -vfuente
En terminal:
rvm gemset use globalfuente
La forma más simple es definitivamente ingresar el siguiente comando en la terminal:
Puede agregar la bandera
--no-documentsi no desea descargar la documentación. Aquí hay una salida de muestra después de ejecutar el comando:fuente