Rails me sigue diciendo que no está instalado actualmente

86

Utilizo rvmpara administrar diferentes rubíes y sus gemas. Mi shell es zsh con oh-my-zsh configurado con configuraciones básicas. Los complementos de oh-my-zsh habilitados son ruby, rails, osx y git. Este es el comando que utilicé para instalar ruby-1.8.7 y rails-3.0.7.

rvm install 1.8.7
rvm use 1.8.7
gem install rails -v=3.0.7

y luego escribí railsy obtuve:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

También he intentado instalaciones más completas, como reinstalar rubygemsdespués de cambiar a ruby-1.8.7, o crear un conjunto de gemas completamente nuevo, pero sin suerte.

Aquí está la información de rvm:

ruby-1.8.7-p352@rails:

  system:
    uname:       "Darwin yicai.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
    zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

  rvm:
    version:      "rvm 1.8.6 by Wayne E. Seguin ([email protected]) [https://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.8.7"
    date:         "2011-06-30"
    platform:     "i686-darwin10.8.0"
    patchlevel:   "2011-06-30 patchlevel 352"
    full_version: "ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0]"

  homes:
    gem:          "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"

  binaries:
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/ruby"
    irb:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/irb"
    gem:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/gem"
    rake:         "/Users/nil/.rvm/bin/rake"

  environment:
    PATH:         "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails/bin:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global/bin:/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin:/Users/nil/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/sbin"
    GEM_HOME:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    GEM_PATH:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global"
    MY_RUBY_HOME: "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"
    IRBRC:        "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/.irbrc"
    RUBYOPT:      ""
    gemset:       "rails"

y la versión de la gema es 1.8.10, la última.

nulo
fuente

Respuestas:

92

Hoy tuve este problema. No está completamente relacionado con su pregunta, pero dado que esta página es lo que aparece en Google cuando busco "Rails no está instalado actualmente en este sistema" , pensé en agregar mi respuesta:

Lo que sucedió es que estuve usando ruby ​​1.9.2 con rieles por un tiempo, pero luego necesitaba usar ruby ​​1.8.7 para ejecutar algún otro script que encontré.

Luego, quise volver a cambiar por sistema para usar 1.9.2, y ahí es donde comenzó el problema:

$ rvm list

=> ruby-1.8.7-p352 [ x86_64 ]
ruby-1.9.2-p290 [ x86_64 ]


$ rvm use 1.9.2

Pensé que eso haría el truco. Pero no, eso me da el mensaje "Rails no está instalado actualmente en este sistema" .

Lo que había olvidado es que había configurado rieles usando un juego de gemas rvm. Así que necesitaba especificar el conjunto de gemas correcto cuando estaba seleccionando qué versión de ruby ​​activar.

$ rvm gemset list_all


gemsets for ruby-1.8.7-p352 (found in /Users/asgeo1/.rvm/gems/ruby-1.8.7-p352)
global


gemsets for ruby-1.9.2-p290 (found in /Users/asgeo1/.rvm/gems/ruby-1.9.2-p290)
global
rails31


$ rvm use ruby-1.9.2-p290@rails31

Eso hizo el truco.

asgeo1
fuente
También trabajé para mí, aunque solo tenía una versión instalada. Se estableció como predeterminado, pero por alguna razón no se configuró como actual.
hcarreras
Gracias, después de actualizar Ruby de 2.2.1 a 2.2.3, comencé a recibir este error. rvm use ruby-2.2.1 hizo feliz a rails nuevamente.
slocumro
110

Si está ejecutando un comando rails inmediatamente después de instalar rails , deberá reiniciar su terminal antes de que se reconozcan sus comandos.

Kyle Clegg
fuente
17
doh! Bueno, hay 15 minutos de mi vida que nunca volveré. Gracias.
Adam Waite
Gracias ... esto debería haber estado encima. error tonto que todos cometen.
Shashwat Kumar
Trabajó para mi. ¿Pero por qué?
Akash Agarwal
@AkashAggarwal porque ejecuta el script rvm que permite reconocer los comandos rails (un paso que probablemente se agregó a su .bash_profile durante la instalación). Alternativamente, puede hacer lo que sugirió Dhaulagiri para recargar en el shell actual.
Kyle Clegg
Esta es la respuesta correcta. Simplemente reinicie su terminal.
mira el
30

Mac OS X, rbenv y rieles

Estaba obteniendo exactamente el mismo problema pero con en rbenvlugar de rvm. Después de verificar un .bash_profile.

.bash_profile

export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"

eval "$(rbenv init -)"

Reinicia el shell

exec $SHELL -l

Comprobar el camino

echo $PATH

Finalmente

Instalé y desinstalé rieles repetidamente, pero nunca se colocó en el directorio .rbenv / bin después del refrito de rbenv. Al final hice find . -name railsy desinstalé todas las gemas que se devolvieron y desinstalé los rieles. Entonces:

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails
Cameron Lowell Palmer
fuente
28

Tuve el mismo problema y descubrí que RVM tampoco se mostraba como instalado si probaba el comando rvm. Todo lo que se necesitó para solucionar ambos problemas fue ejecutar este comando en la terminal

$ source ~/.rvm/scripts/rvm
Dhaulagiri
fuente
Salvó el día ... Ahora, ¿qué significa? :)
ericpeters0
13

Reinicie su terminal y luego vuelva a ejecutar su comando rails

Palermo Andre Deschamps
fuente
1
Vaya, me siento tan tonto, ¡también funcionó para mí! A veces, pensar demasiado no es la forma correcta :)
Andrea
yo uso linux, y esto funciona. se siente como usar Windows: D
Esgi Dendyanri
11

Rails no informa que no está instalado. Su sistema Debian le está diciendo que rails no está instalado. Una cosa acerca de rvm es que se basa en algunas secuencias de comandos de shell de bash complicadas y, a veces, es necesario iniciar un shell nuevo para que aparezcan los cambios. También debe asegurarse de que se hayan agregado los comandos de shell rvm correctos a su archivo .zshrc. También verifique su ruta para asegurarse de que la ruta ~ / .rvm / gems / ... esté incluida.

David Nehme
fuente
1
Esto fue todo para mí, solo necesitaba salir de la carpeta y volver a entrar para que la consola de rieles se recuperara nuevamente. Problema de dejar las ventanas de terminal abierto para el día ...
toxaq
Esto también fue para mí. Nunca pensé en cerrar la ventana de la terminal y volver a abrirla. Una vez que hice eso después de actualizar Ruby, todo funcionó como se esperaba.
MikeH
9

Me encontré con este problema usando rbenv. Resulta que gem install rails, de hecho, instaló Rails pero railsno fue reconocido como ejecutable. La solución para mí fue correr rbenv rehash.

Encontré esta solución y más detalles sobre la configuración de Rails 5 en https://gorails.com/setup/osx/10.11-el-capitan

Wilson
fuente
Para mí, lo hice rmvdespués de tener rbenv y Rails funcionando. Rompió todo, incluido el cd, el paquete y los rieles, y ahora, literalmente, ni siquiera puedo hacer clic derecho con mi trackpad en Mac. Tiempos divertidos.
Ka Mok
3

Tuve un problema similar, pero con rbenv.

Originalmente instalé ruby ​​en bash. Luego jugué con .bashrc en VIM, estropeé ese archivo y lo restablecí a los valores predeterminados. Al hacerlo, sin saberlo eliminé el rbenv $ PATH exportado. Debido a esto, mi terminal ya no reconoció que tenía instalado ruby.

Volví a visitar la página de instalación de ruby ​​( https://gorails.com/setup/ubuntu/15.04 ) e intenté configurar mi ruta rbenv nuevamente con este comando:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

Falló.

Afortunadamente, ya había cambiado a zsh (con oh-my-zsh) entre el momento en que arruiné mi .bashrc y el momento en que intenté acceder a irb desde mi terminal.

Mi solución fue configurar la ruta rbenv según la guía de instalación, pero reemplazando todas las instancias de .bashrccon algo .zshrcasí:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

¡Espero que esto ayude!

Yoonis
fuente
1

Esto es lo que hice. Y el problema se ha ido. De ahí que supongo que problema resuelto.

rvm use system

cambia al sistema ruby. elimine todas las gemas usando el comando proporcionado y explicado aquí . luego instalo las versiones de ruby ​​deseadas desde cero:

rvm install 1.8.7
rvm install rails -v 3.0.7

entonces bundle install

para obtener más detalles, es posible que deba profundizar en el procedimiento de instalación de gemas.

nulo
fuente
1

Hoy estaba teniendo este problema. No lo he resuelto al 100%, pero en nuevas pestañas puedo hacerlo rvm use 2.5.5y luego rails -vfunciona bien.

➜  my-repo git:(next_release) ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]
➜  my-repo git:(next_release) rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.
➜  my-repo git:(next_release) rvm use 2.5.5
Using /Users/amberwilkie/.rvm/gems/ruby-2.5.5
➜  my-repo git:(next_release) rails -v
Could not find rake-12.3.3 in any of the sources
Run `bundle install` to install missing gems.
➜  my-repo git:(next_release) bundle install
Ámbar
fuente
1

He encontrado este problema, pero se ha resuelto. Yo uso macOS, no uso rvm, solo uso HomeBrew, primero uso gem envpara obtener el directorio de instalación de todas las gemas, el mío es:

$ gem env
RubyGems Environment:
   -RUBYGEMS VERSION: 3.1.2
   -RUBY VERSION: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-darwin19]
   -INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.7.0
   -USER INSTALLATION DIRECTORY: /Users/myname/.gem/ruby/2.7.0
...

Luego intenta ir a /usr/local/lib/ruby/gems/2.7.0para buscar el directorio de archivos ejecutables de la gema de rieles que ha instalado, por ejemplo:, /usr/local/lib/ruby/gems/2.7.0/binluego agregue a la variable de entorno de ruta

Trump_Cute
fuente
0

Tuve el mismo problema, pero la solución anterior no ayudó.

Este era mi escenario

rvm list

=> ree-1.8.7-2012.02 [ i686 ]
   ruby-1.9.3-p125 [ x86_64 ]

which ruby
  /Users/dev/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby
which rails
  /usr/bin/rails
gem list --local
  ..
  rails (3.2.8)
  rails2_asset_pipeline (0.1.20)
  railties (3.2.8)
  ..

rvm use ruby-1.9.3-p125
which ruby
  /Users/dev/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
which rails
  /Users/dev/.rvm/gems/ruby-1.9.3-p125/bin/rails

Al desinstalar rieles y rieles y reinstalar rieles cuando usaba ree, mi problema se resolvió.

Espero que esto ayude a otros en mi situación, no estoy seguro de cómo me involucré: S

mriddle89
fuente
0

Simplemente tuve el mismo problema y no pude encontrar una respuesta. Esto es lo que hice:

encontrar la ruta de los rieles actuales

$ which rails

devuelve algo como esto: / usr / local / rails

Eliminar la versión actual :

$ sudo rm -rf /usr/local/rails 

Vuelva a instalar los rieles

$ sudo gem install rails
im_benton
fuente
1
NO hagas esto para Mac OS
Pantalones
0

Me encontré con el mismo problema y ninguna de las respuestas dadas ayudó, así que pensé en compartir mi solución en caso de que pudiera ser útil para otra persona.

Estaba jugando con mis .profiley .bashrcarchivos y en el camino me perdió mi RVM instalar. Todavía no estoy seguro de qué hice exactamente, pero la solución fue fácil. Solo tenía que ejecutar el siguiente comando, que limpia todas las configuraciones de ruta del sistema para RVM:

rvm get [head|stable] --auto-dotfiles

Tenga en cuenta que si está ejecutando una versión anterior de RVM, esto puede actualizar su configuración, que puede no ser lo que desea.

Dan
fuente
0

Una posible solución es no mantener dos archivos de configuración diferentes .bash_profiley.bashrc

La solución que se sugiere en esta excelente publicación sobre la diferencia entre .bash_profiley .bashrces obtener la fuente .bashrcde su .bash_profilearchivo, luego poner PATH y configuraciones comunes en .bashrc.

Citando,

agregue las siguientes líneas a .bash_profile:

if [ -f ~/.bashrc ]; then source ~/.bashrc fi

cotización final

osehgol
fuente
0

Tuve este error después de actualizar ruby. Tuve que ejecutar 'bundle install' para solucionarlo.

Josh Hunter
fuente
0

Intente especificar gemset explícitamente en su Gemfile:

source 'https://rubygems.org'
ruby "2.2.3"
#ruby-gemset=rails424
yaru
fuente
0

Prueba esto:

Debe cambiar las preferencias de su emulador de terminal para permitir el shell de inicio de sesión.

A veces es necesario utilizarlo /bin/bash --logincomo comando.

$ bin/bash --login
$ rails -v
Magere
fuente
0

Tenía este mensaje en mi Mac:

Rails no está instalado actualmente en este sistema. Para obtener la última versión, simplemente escriba:

y se trataba de $PATHno estar en lo correcto. El sistema tiene una versión desactualizada de rails ( /usr/bin/ruby). La ruta a la versión elegida de ruby ​​( $HOME/.rbenv/versions/2.3.0/bin) debe preceder a la versión desactualizada del sistema junto con $PATHvar, como se muestra a continuación:

export PATH="$HOME/.rbenv/versions/2.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"

ajústelo a su versión de ruby.

Eliandro
fuente
0

Para MacOS (High Sierra):

Tokaido es el sistema de instalación de Rails recomendado en la página de guía de Rails "Getting Started" para Mac OS. Pero no solo se instala, ejecuta sus propios scripts de shell. Si comienzas a usar eso, que genera su propio entorno de shell, luego inicias una terminal sin iniciar desde el shell de Tokaido, esto sucede, porque el comando "rails" vuelve al código original de rails del sistema en la Mac.

Para el mío, el comando 'which rails' en una terminal normal devuelve

/usr/bin/rails

Pero después de lanzar el caparazón de Tokaido, 'which rails' da esta ruta:

/Users/charlesross/.tokaido/Gems/2.2.0/bin/rails
charles ross
fuente
0

De la nada, Rails no estaba instalado actualmente, pero lo que se solucionó fue rvm use ruby-2.6.0

... y verifiqué mi ruta en .bash_profile export PATH="$PATH:$HOME/.rvm/bin"

Aaron Moreno
fuente
0

Estaba buscando en la fuente y encontré otro mensaje de error que sugería que el usuario ejecutara el siguiente comando.

Ejecuté el comando y ahora todo funciona. Ninguna de las sugerencias anteriores funcionó para mí. Ejecute el comando desde dentro de su aplicación Rails recién creada.

gem pristine --all
Clint Gossett
fuente