Rails continua a dirmi che non è attualmente installato


86

Uso rvmper gestire diversi rubini e le loro gemme. La mia shell è zsh con oh-my-zsh configurato con le impostazioni di base. I plugin abilitati oh-my-zsh sono ruby, rails, osx e git. Ecco il comando che ho usato per installare 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 poi ho digitato railse ho ottenuto:

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.

Ho provato anche installazioni più approfondite, come reinstallare rubygemsdopo il passaggio a ruby-1.8.7, o creare un gemset completamente nuovo, ma senza fortuna.

Ecco le informazioni su 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 (wayneeseguin@gmail.com) [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 la versione gem è 1.8.10, l'ultima.

Risposte:


92

Oggi ho avuto questo problema. Non completamente correlato alla tua domanda, ma poiché questa pagina è ciò che viene visualizzato in Google quando cerco "Rails non è attualmente installato su questo sistema" , ho pensato di aggiungere la mia risposta:

Quello che è successo è che stavo usando ruby ​​1.9.2 con binari per un po ', ma poi ho dovuto usare ruby ​​1.8.7 per eseguire qualche altro script che ho trovato.

In seguito, volevo tornare in base al sistema a utilizzare 1.9.2, ed è qui che è iniziato il problema:

$ rvm list

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


$ rvm use 1.9.2

Ho pensato che avrebbe funzionato. Ma no, questo mi dà il messaggio "Rails non è attualmente installato su questo sistema" .

Quello che avevo dimenticato è che avevo configurato i binari usando un gemset rvm. Quindi dovevo specificare il gemset corretto quando stavo selezionando quale versione di ruby ​​rendere attiva.

$ 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

Quello ha funzionato.


Ho lavorato anche per me, anche se avevo solo una versione installata. Era impostato come predefinito, ma per qualche motivo non era impostato come corrente.
hcarreras

Grazie - dopo aver aggiornato Ruby da 2.2.1 a 2.2.3, ho iniziato a ricevere questo errore. rvm use ruby-2.2.1 ha reso di nuovo felici i rails.
slocumro

111

Se stai eseguendo un comando rails subito dopo l'installazione di rails , dovrai riavviare il tuo terminale prima che i tuoi comandi vengano riconosciuti.


17
doh! beh, ci sono 15 minuti della mia vita che non tornerò mai più. Grazie.
Adam Waite

Grazie ... questo avrebbe dovuto essere in cima. stupido errore che fanno tutti.
Shashwat Kumar

Ha funzionato per me. Ma perché?
Akash Agarwal

@AkashAggarwal perché esegue lo script rvm che consente di riconoscere i comandi rails (un passaggio che è stato probabilmente aggiunto al tuo .bash_profile durante l'installazione). In alternativa puoi fare ciò che Dhaulagiri ha suggerito per ricaricare nella shell corrente.
Kyle Clegg

Questa è la risposta corretta. Riavvia semplicemente il tuo terminale.
guarda il

32

Mac OS X, rbenv e rails

Stavo ricevendo lo stesso identico problema ma con rbenvpiuttosto che rvm. Dopo aver verificato un file .bash_profile corretto.

.bash_profile

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

eval "$(rbenv init -)"

Riavvia la shell

exec $SHELL -l

Controlla il percorso

echo $PATH

Finalmente

Ho installato e disinstallato ripetutamente rails, ma non è mai stato inserito nella directory .rbenv / bin dopo il rehash di rbenv. Alla fine ho fatto un find . -name railse disinstallato ogni gemma che è stata restituita e ho disinstallato i binari. Poi:

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails

28

Ho avuto lo stesso problema e ho scoperto che RVM non veniva visualizzato come installato nemmeno se ho provato il comando rvm. Tutto ciò che è servito per risolvere entrambi i problemi è stato eseguire questo comando nel terminale

$ source ~/.rvm/scripts/rvm

Ha salvato la giornata ... Ora cosa significa? :)
ericpeters0n

13

Riavvia il tuo terminale e poi riesegui il comando rails


1
Wow, mi sento così stupido, ha funzionato anche per me! A volte pensare troppo non è la strada giusta :)
Andrea

Io uso Linux e funziona. sembra di usare Windows: D
Esgi Dendyanri

11

Rails non sta segnalando che non è installato. Il tuo sistema Debian ti sta dicendo che rails non è installato. Una cosa su rvm è che si basa su alcuni complicati script di shell bash e talvolta è necessario avviare una nuova shell per far apparire le modifiche. Dovresti anche assicurarti che i comandi della shell rvm corretti siano stati aggiunti al tuo file .zshrc. Controlla anche il tuo percorso per assicurarti che il percorso ~ / .rvm / gems / ... sia incluso.


1
Questo era tutto per me, dovevo solo uscire dalla cartella e rientrare per far riprendere la console di rails. Problema con il lasciare le finestre del terminale aperte per giorni ...
toxaq

Questo è stato anche per me. Non ho mai pensato di chiudere la finestra del terminale e riaprirla. Una volta che l'ho fatto dopo aver aggiornato Ruby, tutto ha funzionato come previsto.
MikeH

9

Ho riscontrato questo problema utilizzando rbenv. Si scopre gem install railsche in realtà ha installato Rails ma railsnon è stato riconosciuto come eseguibile. La soluzione per me era correre rbenv rehash.

Ho trovato questa correzione e ulteriori dettagli sulla configurazione di Rails 5 su https://gorails.com/setup/osx/10.11-el-capitan


Per me, l'ho fatto rmvdopo aver già lavorato su rbenv e Rails. Ha rotto tutto, inclusi cd, bundle e binari, e ora non riesco letteralmente a fare clic con il pulsante destro del mouse con il trackpad su Mac. Momenti divertenti.
Ka Mok

3

Ho avuto un problema simile, ma con rbenv.

Originariamente ho installato ruby ​​su bash. Poi ho giocato con .bashrc in VIM, ho incasinato quel file e ripristinato le impostazioni predefinite. In tal modo, ho inconsapevolmente rimosso il rbenv $ PATH esportato. Per questo motivo, il mio terminale non riconosceva più che avevo installato ruby.

Ho rivisitato la pagina di installazione di ruby ​​( https://gorails.com/setup/ubuntu/15.04 ) e ho provato a impostare nuovamente il mio percorso rbenv con questo comando:

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

E 'fallito.

Fortunatamente, ero già passato a zsh (con oh-my-zsh) tra il momento in cui ho incasinato il mio .bashrc e il momento in cui ho provato ad accedere a irb dal mio terminale.

La mia soluzione era impostare il percorso rbenv per la guida all'installazione, ma sostituendo tutte le istanze di .bashrccon in questo .zshrcmodo:

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

Spero che sia di aiuto!


1

Ecco cosa ho fatto. E il problema è sparito. Quindi immagino che il problema sia stato risolto.

rvm use system

passare al sistema ruby. rimuovere tutte le gemme in esso contenute utilizzando il comando fornito e spiegato qui . quindi installo le versioni ruby ​​desiderate da zero:

rvm install 1.8.7
rvm install rails -v 3.0.7

poi bundle install

per ulteriori dettagli, potrebbe essere necessario approfondire la procedura di installazione delle gemme.




1

Oggi ho avuto questo problema. Non l'ho risolto al 100%, ma nelle nuove schede posso farlo rvm use 2.5.5e poi rails -vfunziona bene.

➜  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

1

Ho riscontrato questo problema, ma è stato risolto. Uso macOS, non uso rvm, uso solo HomeBrew, prima uso gem envper ottenere la directory di installazione di tutte le gemme, la mia è:

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

Quindi provi ad andare su /usr/local/lib/ruby/gems/2.7.0per trovare la directory del file eseguibile della gem di rails che hai installato, ad esempio /usr/local/lib/ruby/gems/2.7.0/bin:, quindi aggiungi alla variabile d'ambiente del percorso


0

Ho avuto lo stesso problema ma la soluzione sopra non ha aiutato.

Questo era il mio scenario

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

Disinstallando binari e binari e reinstallando i binari quando si utilizza ree il mio problema è stato risolto.

Spero che questo aiuti gli altri nella mia situazione, non sono sicuro di come ci sono entrato: S



0

Ho appena avuto lo stesso problema e non sono riuscito a trovare una risposta. Ecco cosa ho fatto:

trova il percorso corrente dei binari

$ which rails

restituisce qualcosa del genere: / usr / local / rails

Elimina la versione corrente :

$ sudo rm -rf /usr/local/rails 

Reinstallare i binari

$ sudo gem install rails

2
NON farlo per Mac OS
Pantaloni

0

Mi sono imbattuto nello stesso problema e nessuna delle risposte fornite ha aiutato, quindi ho pensato di condividere la mia soluzione nel caso in cui potesse essere utile per qualcun altro.

Ho dovuto vedermela con i miei .profilee .bashrcfile e lungo la strada ho incasinato la mia RVM installare. Non sono ancora sicuro di quello che ho fatto, ma la soluzione è stata facile. Dovevo solo eseguire il seguente comando, che pulisce tutte le impostazioni del percorso di sistema per RVM:

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

Nota che se stai utilizzando una vecchia versione di RVM, questo potrebbe aggiornare la tua configurazione, che potrebbe non essere quello che desideri.


0

Una possibile soluzione è non mantenere due diversi file di configurazione .bash_profile e.bashrc

La soluzione suggerita in questo eccellente post sulla differenza tra .bash_profilee .bashrcè quella di ottenere .bashrcdal tuo .bash_profilefile, quindi mettere PATH e impostazioni comuni in.bashrc .

Citando,

aggiungi le seguenti righe a .bash_profile:

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

fine citazione


0

Ho riscontrato questo errore dopo aver aggiornato Ruby. Ho dovuto eseguire 'installazione bundle' per risolverlo.


0

Prova a specificare gemset esplicitamente nel tuo Gemfile:

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

0

Prova questo:

È necessario modificare le preferenze dell'emulatore di terminale per consentire la shell di accesso.

A volte è necessario utilizzare /bin/bash --logincome comando.

$ bin/bash --login
$ rails -v

0

Ho ricevuto questo messaggio sul mio Mac:

Rails non è attualmente installato su questo sistema. Per ottenere l'ultima versione, digita semplicemente:

e si trattava di $PATHnon essere corretto. Il sistema ha una versione obsoleta di rails ( /usr/bin/ruby). Il percorso alla versione scelta di ruby ​​( $HOME/.rbenv/versions/2.3.0/bin) deve precedere la versione obsoleta del sistema lungo $PATHvar, come di seguito:

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

adattalo alla tua versione di ruby.


0

Per MacOS (High Sierra):

Tokaido è il sistema di installazione di Rails consigliato nella pagina della guida "Getting Started" Rails per Mac OS. Ma non si limita a installare, esegue i propri script di shell. Se inizi a utilizzare quello, che genera il proprio ambiente shell, quindi in seguito avvii un terminale senza avviarlo dalla shell Tokaido, questo accade, perché il comando "rails" ritorna al codice rails del sistema originale sul Mac.

Per il mio, ritorna il comando 'which rails' in un normale terminale

/usr/bin/rails

Ma dopo aver lanciato la shell di Tokaido, 'which rails' fornisce questo percorso:

/Users/charlesross/.tokaido/Gems/2.2.0/bin/rails

0

Dal nulla Rails non era attualmente installato, ma quello che lo ha risolto è stato rvm use ruby-2.6.0

... e verificato il mio percorso in .bash_profile export PATH="$PATH:$HOME/.rvm/bin"


0

Stavo esaminando la fonte e ho trovato un altro messaggio di errore che ha suggerito all'utente di eseguire il seguente comando.

Ho eseguito il comando e ora tutto funziona. Nessuno dei suggerimenti sopra ha funzionato per me. Esegui il comando dall'interno della tua app Rails appena creata.

gem pristine --all
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.