Rails fica me dizendo que não está instalado no momento

86

Eu uso rvmpara gerenciar diferentes rubis e seus conjuntos de joias. Meu shell é zsh com oh-my-zsh configurado com configurações básicas. Os plug-ins oh-my-zsh ativados são ruby, rails, osx e git. Aqui está o comando que usei para instalar ruby-1.8.7 e rails-3.0.7.

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

e então eu digitei railse peguei:

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.

Também tentei instalações mais completas, como reinstalar rubygemsdepois de mudar para ruby-1.8.7 ou criar um conjunto de joias completamente novo, mas sem sorte.

Aqui estão as informações do 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"

e a versão gem é 1.8.10, a mais recente.

nada
fonte

Respostas:

92

Eu tive esse problema hoje. Não totalmente relacionado à sua pergunta, mas como esta página é o que aparece no Google quando eu procuro por "Rails não está instalado neste sistema" , pensei em adicionar minha resposta:

O que aconteceu é que eu estava usando ruby ​​1.9.2 com rails por um tempo, mas depois precisei usar ruby ​​1.8.7 para executar algum outro script que encontrei.

Depois, eu queria voltar a usar o sistema 1.9.2, e foi aí que o problema começou:

$ rvm list

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


$ rvm use 1.9.2

Achei que isso resolveria o problema. Mas não, isso me dá a mensagem "Rails não está instalado neste sistema" .

O que eu tinha esquecido é que tinha configurado os trilhos usando um gemset rvm. Então, eu precisei especificar o gemset correto ao selecionar qual versão de ruby ​​tornar ativa.

$ 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

Isso funcionou.

asgeo1
fonte
Também trabalhei para mim, embora tivesse apenas uma versão instalada. Ele foi definido como padrão, mas por algum motivo não foi definido como atual.
hcarreras 01 de
Obrigado - depois de atualizar o Ruby de 2.2.1 para 2.2.3, comecei a receber este erro. rvm use ruby-2.2.1 fez rails feliz novamente.
slocumro de
110

Se você estiver executando um comando rails imediatamente após instalar o rails , você precisará reiniciar seu terminal antes que seus comandos sejam reconhecidos.

Kyle Clegg
fonte
17
doh! bem, há 15 minutos da minha vida que eu nunca vou voltar. obrigado.
Adam Waite de
Obrigado ... isso deveria estar no topo. erro bobo que todo mundo comete.
Shashwat Kumar,
Funcionou para mim. Mas por que?
Akash Agarwal
@AkashAggarwal porque executa o script rvm que permite que os comandos do rails sejam reconhecidos (uma etapa que provavelmente foi adicionada ao seu .bash_profile durante a instalação). Alternativamente, você pode fazer o que Dhaulagiri sugeriu para recarregar no shell atual.
Kyle Clegg,
Essa é a resposta correta. Apenas reinicie seu terminal.
veja
30

Mac OS X, rbenv e rails

Eu estava tendo exatamente o mesmo problema, mas com rbenv vez de rvm. Depois de verificar um .bash_profile correto.

.bash_profile

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

eval "$(rbenv init -)"

Reinicie o shell

exec $SHELL -l

Verifique o caminho

echo $PATH

Finalmente

Eu instalei e desinstalei repetidamente o rails, mas ele nunca foi colocado no diretório .rbenv / bin após o rehash do rbenv. No final eu fiz um find . -name railse desinstalei todas as gemas que foram devolvidas e desinstalei os trilhos. Então:

$ gem install rails
$ rbenv rehash

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

Eu tive o mesmo problema e descobri que o RVM também não estava sendo exibido como instalado se eu tentasse o comando rvm. Para consertar os dois problemas, bastou executar este comando no terminal

$ source ~/.rvm/scripts/rvm
Dhaulagiri
fonte
Salvei o dia ... Agora o que isso significa? :)
ericpeters0n
13

Reinicie seu terminal e execute novamente o comando rails

Palermo Andre Deschamps
fonte
1
Uau, me sinto tão burra, funcionou para mim também! Às vezes, pensar demais não é o caminho certo :)
Andrea
eu uso linux, e isso funciona. parece usar o Windows: D
Esgi Dendyanri
11

Rails não está relatando que não está instalado. Seu sistema Debian está lhe dizendo que o rails não está instalado. Uma coisa sobre o rvm é que ele depende de alguns scripts de shell bash complicados e às vezes você precisa iniciar um novo shell para que as alterações apareçam. Você também deve certificar-se de que os comandos de shell rvm corretos foram adicionados ao arquivo .zshrc. Verifique também seu caminho para certificar-se de que o caminho ~ / .rvm / gems / ... está incluído.

David Nehme
fonte
1
Isso era tudo para mim, só precisava sair da pasta e voltar para que o console do Rails funcionasse novamente. Problema em deixar as janelas do terminal abertas por dias ...
toxaq
Foi isso para mim também. Nunca pensei em fechar a janela do terminal e reabri-la. Uma vez que fiz isso depois de atualizar o Ruby, tudo funcionou conforme o esperado.
MikeH de
9

Corri para esse problema usando rbenv. Acontece gem install railsque de fato instalou o Rails, mas railsnão foi reconhecido como um executável. A solução para mim era correr rbenv rehash.

Eu encontrei essa correção e mais detalhes sobre a configuração do Rails 5 em https://gorails.com/setup/osx/10.11-el-capitan

Wilson
fonte
Para mim, fiz rmvdepois de já ter o rbenv e o Rails funcionando. Quebrou tudo, incluindo cd, bundle e rails, e agora eu literalmente não consigo nem clicar com o botão direito do mouse no meu trackpad no mac. Tempos divertidos.
Ka Mok
3

Tive um problema semelhante, mas com rbenv.

Eu instalei originalmente o ruby ​​no bash. Então eu brinquei com .bashrc no VIM, baguncei o arquivo e o redefini para o padrão. Ao fazer isso, sem saber, removi o rbenv $ PATH exportado. Por causa disso, meu terminal não reconheceu mais que eu tinha o Ruby instalado.

Eu revisitei a página de instalação do Ruby ( https://gorails.com/setup/ubuntu/15.04 ) e tentei configurar meu caminho rbenv novamente com este comando:

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

Falhou.

Felizmente, eu já tinha mudado para zsh (com oh-meu-zsh) entre o momento em que baguncei meu .bashrc e o momento em que tentei acessar o irb do meu terminal.

Minha solução foi configurar o caminho rbenv de acordo com o guia de instalação, mas substituindo todas as instâncias de .bashrcpor .zshrcassim:

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

Espero que isto ajude!

Yoonis
fonte
1

Aqui está o que fiz. E o problema desapareceu. Portanto, acho que o problema está resolvido.

rvm use system

mudar para o rubi do sistema. remova todas as joias nele usando o comando fornecido e explicado aqui . então eu instalo as versões desejadas do Ruby do zero:

rvm install 1.8.7
rvm install rails -v 3.0.7

então bundle install

para mais detalhes, pode ser necessário entrar no procedimento de instalação do gem.

nada
fonte
1

Eu estava tendo esse problema hoje. Não resolvi 100%, mas em novas guias posso fazer rvm use 2.5.5e depois rails -vfunciona bem.

➜  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
fonte
1

Eu encontrei esse problema, mas foi resolvido. Eu uso macOS, não uso rvm, apenas uso HomeBrew, primeiro uso gem envpara obter o diretório de instalação de todas as gemas, o meu é:

$ 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
...

Então você tenta ir para /usr/local/lib/ruby/gems/2.7.0encontrar o diretório do arquivo executável do rails gem que você instalou, por exemplo:, em /usr/local/lib/ruby/gems/2.7.0/binseguida, adicione à variável de ambiente path

Trump_Cute
fonte
0

Eu tive o mesmo problema, mas a solução acima não ajudou.

Este foi o meu cenário

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

Ao desinstalar os trilhos e os trilhos e reinstalar os trilhos ao usar o ree, meu problema foi resolvido.

Espero que isso ajude outras pessoas na minha situação, não tenho certeza de como entrei nisso: S

mriddle89
fonte
0

Apenas tive o mesmo problema e não consegui encontrar uma resposta. Aqui está o que eu fiz:

encontrar o caminho atual dos trilhos

$ which rails

retorna algo assim: / usr / local / rails

Exclua a versão atual :

$ sudo rm -rf /usr/local/rails 

Reinstale os trilhos

$ sudo gem install rails
im_benton
fonte
1
NÃO faça isso para Mac OS
Calças
0

Encontrei o mesmo problema e nenhuma das respostas fornecidas ajudou, então pensei em compartilhar minha solução, caso pudesse ser útil para outra pessoa.

Eu estava brincando com meus .profilee .bashrcarquivos e ao longo do caminho eu errei minha RVM instalar. Ainda não tenho certeza do que exatamente fiz, mas a correção foi fácil. Só precisava executar o seguinte comando, que limpa todas as configurações de caminho do sistema para RVM:

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

Observe que se você estiver executando uma versão antiga do RVM, isso pode atualizar sua configuração, que pode não ser o que você deseja.

Dan
fonte
0

Uma possível solução é não manter dois arquivos de configuração diferentes .bash_profilee.bashrc

A solução sugerida neste excelente post sobre a diferença entre .bash_profilee .bashrcé a fonte .bashrcde seu.bash_profile arquivo e, em seguida, colocar PATH e as configurações comuns em .bashrc.

Citando,

adicione as seguintes linhas a .bash_profile:

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

citação final

Osehgol
fonte
0

Eu tive este erro após atualizar o Ruby. Tive que executar o 'bundle install' para consertar.

Josh Hunter
fonte
0

Tente especificar o gemset explicitamente em seu Gemfile:

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

Experimente isto:

Você precisa alterar as preferências do emulador de terminal para permitir o shell de login.

Às vezes, é necessário usar /bin/bash --logincomo o comando.

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

Eu tinha esta mensagem no meu Mac:

Rails não está atualmente instalado neste sistema. Para obter a versão mais recente, basta digitar:

e era sobre $PATHnão estar correto. O sistema tem uma versão desatualizada do rails ( /usr/bin/ruby). O caminho para a versão escolhida de ruby ​​( $HOME/.rbenv/versions/2.3.0/bin) deve preceder a versão desatualizada do sistema ao longo de $PATHvar, como abaixo:

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

ajuste-o à sua versão do ruby.

Eliandro
fonte
0

Para MacOS (High Sierra):

Tokaido é o sistema instalador Rails recomendado na página do guia Rails "Getting Started" para Mac OS. Mas ele não apenas instala, ele executa seus próprios scripts de shell. Se você começar usando isso, que fornece seu próprio ambiente de shell, depois iniciar um terminal sem iniciar a partir do shell Tokaido, isso acontece, porque o comando "rails" volta ao código original do sistema de trilhos no Mac.

Para o meu, o comando 'which rails' em um terminal normal retorna

/usr/bin/rails

Mas depois de lançar o shell do Tokaido, 'which rails' dá este caminho:

/Users/charlesross/.tokaido/Gems/2.2.0/bin/rails
Charles Ross
fonte
0

Do nada, o Rails não estava instalado atualmente, mas o que consertou foi rvm use ruby-2.6.0

... e verifiquei meu caminho em .bash_profile export PATH="$PATH:$HOME/.rvm/bin"

Aaron Moreno
fonte
0

Eu estava procurando na fonte e encontrei outra mensagem de erro que sugeria que o usuário executasse o seguinte comando.

Executei o comando e agora tudo funciona. Nenhuma das sugestões acima funcionou para mim. Execute o comando de dentro do seu aplicativo Rails recém-criado.

gem pristine --all
Clint Gossett
fonte