Cómo actualizar Ruby Versión 2.0.0 a la última versión en Mac OSX Yosemite?
Necesito actualizar mi versión de ruby de 2.0.0 a la última versión, no puedo usar algunas gemas porque mi versión no está actualizada. Había usado Homebrew para instalar Ruby hace algún tiempo, ¿Cómo puedo actualizar mi versión de Ruby?
9 answers
Abra su terminal y ejecute
\curl -sSL https://get.rvm.io | bash -s stable
Cuando esto se complete, necesita reiniciar su terminal para que el rvm funcione.
Ahora, corre rvm list known
Esto muestra la lista de versiones del ruby.
Ahora, corre rvm install ruby-2.4.2
Si escribe ruby -v
en el terminal, debería ver ruby 2.4.2
.
Si todavía te muestra ruby 2.0.
, ejecuta rvm use ruby-2.4.2 --default
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-04-05 07:07:48
Solución única para preparar cerveza
Actualización:
De los comentarios (felicitaciones a Maksim Luzik), no he probado, pero parece una solución más elegante:
Después de instalar ruby a través de brew, ejecute el siguiente comando para actualizar los enlaces a la última instalación de ruby:
brew link --overwrite ruby
Respuesta original:
Llegar tarde a la fiesta, pero usar cerveza es suficiente. No es necesario instalar rvm y para mí solo complicó las cosas.
Por brew install ruby
en realidad está instalando la última versión (actualmente v2.4.0). Sin embargo, su camino encuentra 2.0.0 primero. Para evitar esto, simplemente cambie la precedencia (source ). Hice esto cambiando ~/.profile
y estableciendo:
export PATH=/usr/local/bin:$PATH
Después de esto me di cuenta de que bundler gem todavía estaba usando la versión 2.0.0, simplemente instalarlo de nuevo: gem install bundler
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-10-30 09:07:08
Recomiendo rbenv* https://github.com/rbenv/rbenv
* Si esto cumple con sus criterios: https://github.com/rbenv/rbenv/wiki/Why-rbenv?:
Rbenv hace {
- Proporciona soporte para especificar versiones de Ruby específicas de la aplicación.
- Le permite cambiar la versión global de Ruby por usuario.
- Le permite anular la versión de Ruby con un variable de entorno.
En contraste con RVM, rbenv no does
- Necesita ser cargado en su shell. En su lugar, el enfoque shim de rbenv funciona agregando un directorio a su
$PATH
.- Anula comandos de shell como
cd
o requiere hacks de prompt. Eso es peligroso y propenso a errores.- Tiene un archivo de configuración. No hay nada que configurar excepto qué versión de Ruby desea usar.
- Instala Ruby. Puede compilar e instalar Ruby usted mismo, o usar ruby-build para automatizar proceso.
- Administrar conjuntos de gemas. Bundler es una mejor manera de administrar dependencias de aplicaciones. Si tienes proyectos que son aún no utilizando Bundler se puede instalar el rbenv-gemset plugin.
- Requiere cambios en las bibliotecas de Ruby para la compatibilidad. La simplicidad de rbenv significa siempre y cuando esté en su
$PATH
, nada else necesita saberlo.
INSTALACIÓN
Instalar Homebrew http://brew.sh
Entonces:
$ brew update$ brew install rbenv$ brew install rbenv ruby-build # Add rbenv to bash so that it loads every time you open a terminal echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile source ~/.bash_profile
ACTUALIZAR
Hay un paso adicional después debrew install rbenv
Ejecutarrbenv init
y añadir una línea a.bash_profile
como se indica. Después de eso vuelva a abrir la ventana de su terminal [[] SGI Sep 30 at 12:01 - https://stackoverflow.com/users/119770
$ rbenv install --list Available versions: 1.8.5-p113 1.8.5-p114 […] 2.3.1 2.4.0-dev jruby-1.5.6 […] $ rbenv install 2.3.1 […]
Establecer la versión global:
$ rbenv global 2.3.1 $ ruby -v ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]
Establezca la versión local de su repositorio agregando .ruby-version
al directorio raíz de su repositorio:
$ cd ~/whatevs/projects/new_repo $ echo "2.3.1" > .ruby-version
Para macOS visita este enlace
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:10:44
Abrir terminal:
sudo gem update --system
Funciona!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-04 15:03:25
Puede especificar la última versión de ruby mirando https://www.ruby-lang.org/en/downloads/
-
Obtener la última versión:
curl -sSL https://get.rvm.io | bash -s stable --ruby
-
Instalarlo:
rvm install 2.2
-
Úsalo como predeterminado:
rvm use 2.2 --default
O ejecute el último comando desde ruby:
rvm install ruby --latest
rvm use 2.2 --default
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-13 12:40:31
Forma rápida de actualizar ruby a v2.4+
brew upgrade ruby
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-09 13:30:44
En caso de que alguien obtenga el mismo error que yo: "Requisitos la instalación falló con el estado: 1." esto es lo que debe hacer:
Instalar Homebrew (por alguna razón podría no funcionar automáticamente) con este comando:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Luego proceda a instalar rvm de nuevo usando
curl -sSL https://get.rvm.io | bash -s stable --ruby
Salga y vuelva a abrir Terminal y luego:
rvm install 2.2
rvm use 2.2 --default
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-03 19:51:30
En la terminal: rvm gemset use global
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-13 12:39:24
La forma más sencilla es definitivamente introducir el siguiente comando en la terminal:
sudo gem update --system
Puede agregar la bandera --no-document
si no desea descargar la documentación. Aquí está la salida de muestra después de ejecutar el comando:
sudo gem update --system
Password:
Updating rubygems-update
Fetching: rubygems-update-2.6.8.gem (100%)
Successfully installed rubygems-update-2.6.8
Parsing documentation for rubygems-update-2.6.8
Installing ri documentation for rubygems-update-2.6.8
Installing darkfish documentation for rubygems-update-2.6.8
Installing RubyGems 2.6.8
RubyGems 2.6.8 installed
Parsing documentation for rubygems-2.6.8
Installing ri documentation for rubygems-2.6.8
------------------------------------------------------------------------------
RubyGems installed the following executables:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/gem
Ruby Interactive (ri) documentation was installed. ri is kind of like man
pages for ruby libraries. You may access it like this:
ri Classname
ri Classname.class_method
ri Classname#instance_method
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-12-18 08:04:42