Rails sagt mir immer wieder, dass es derzeit nicht installiert ist

83

Ich rvmverwalte verschiedene Rubine und ihre Edelsteine. Meine Shell ist zsh mit oh-my-zsh konfiguriert mit Grundeinstellungen. Aktivierte Oh-My-Zsh-Plugins sind Ruby, Rails, OSX und Git. Hier ist der Befehl, mit dem ich Ruby-1.8.7 und Rails-3.0.7 installiert habe.

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

und dann tippte ich railsund bekam:

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.

Ich habe auch gründlichere Installationen versucht, wie die Neuinstallation rubygemsnach dem Wechsel zu Ruby-1.8.7 oder das Erstellen eines völlig neuen Gemset, aber ohne Glück.

Hier ist die RVM-Info:

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"

und die Edelsteinversion ist 1.8.10, die neueste.

Null
quelle

Antworten:

90

Ich hatte heute dieses Problem. Nicht vollständig mit Ihrer Frage verbunden, aber da diese Seite in Google angezeigt wird, wenn ich nach "Rails ist derzeit nicht auf diesem System installiert" suche , dachte ich, ich würde meine Antwort hinzufügen:

Was passiert ist, ist, dass ich Ruby 1.9.2 für eine Weile mit Rails verwendet habe, aber dann musste ich Ruby 1.8.7 verwenden, um ein anderes Skript auszuführen, das ich gefunden habe.

Danach wollte ich vom System zurück zu 1.9.2 wechseln, und dort begann das Problem:

$ rvm list

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


$ rvm use 1.9.2

Ich dachte, das würde den Trick machen. Aber nein, das gibt mir die Meldung "Rails ist derzeit nicht auf diesem System installiert" .

Was ich vergessen hatte, war, dass ich Schienen mit einem RVM-Gemset konfiguriert hatte. Daher musste ich das richtige Gemset angeben, als ich die Ruby-Version auswählte, die aktiviert werden soll.

$ 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

Das hat funktioniert.

asgeo1
quelle
Ich habe auch für mich gearbeitet, obwohl ich nur eine Version installiert hatte. Es wurde als Standard festgelegt, aber aus irgendeinem Grund wurde es nicht als aktuell festgelegt.
Hcarreras
Vielen Dank - nach dem Upgrade von Ruby von 2.2.1 auf 2.2.3 wurde dieser Fehler angezeigt. rvm use ruby-2.2.1 machte die Schienen wieder glücklich.
Slocumro
109

Wenn Sie unmittelbar nach der Installation von Rails einen Rails-Befehl ausführen, müssen Sie Ihr Terminal neu starten, bevor Ihre Befehle erkannt werden.

Kyle Clegg
quelle
16
doh! Nun, es gibt 15 Minuten meines Lebens, die ich niemals zurückbekommen werde. Vielen Dank.
Adam Waite
Danke ... das hätte oben sein sollen. dummer Fehler, den jeder macht.
Shashwat Kumar
Hat für mich gearbeitet. Aber wieso?
Akash Agarwal
@AkashAggarwal, da hierdurch das rvm-Skript ausgeführt wird, mit dem die Rails-Befehle erkannt werden können (ein Schritt, der wahrscheinlich während der Installation zu Ihrem .bash_profile hinzugefügt wurde). Alternativ können Sie das tun, was Dhaulagiri vorgeschlagen hat, um die aktuelle Shell neu zu laden.
Kyle Clegg
Dies ist die richtige Antwort. Starten Sie einfach Ihr Terminal neu.
Schauen Sie sich den
28

Ich hatte das gleiche Problem und stellte fest, dass RVM auch nicht als installiert angezeigt wurde, wenn ich den Befehl rvm versuchte. Um beide Probleme zu beheben, musste dieser Befehl nur im Terminal ausgeführt werden

$ source ~/.rvm/scripts/rvm
Dhaulagiri
quelle
Den Tag gerettet ... Was bedeutet das nun? :)
ericpeters0n
28

Mac OS X, Rbenv und Rails

Ich bekam genau das gleiche Problem, aber rbenveher mit als rvm. Nach Überprüfung eines korrekten .bash_profile.

.bash_profile

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

eval "$(rbenv init -)"

Starten Sie die Shell neu

exec $SHELL -l

Überprüfen Sie den Pfad

echo $PATH

Schließlich

Ich habe Rails wiederholt installiert und deinstalliert, aber es wurde nach dem erneuten Aufbereiten von rbenv nie mehr im Verzeichnis .rbenv / bin abgelegt. Am Ende habe ich find . -name railsjeden zurückgegebenen Edelstein deinstalliert und Schienen deinstalliert. Dann:

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails
Cameron Lowell Palmer
quelle
13

Starten Sie Ihr Terminal neu und führen Sie dann Ihren Rails-Befehl erneut aus

Palermo Andre Deschamps
quelle
1
Wow, ich fühle mich so dumm, es hat auch bei mir funktioniert! Manchmal ist Überdenken nicht der richtige Weg :)
Andrea
Ich benutze Linux, und das funktioniert. fühlt sich an wie mit Fenstern: D
Esgi Dendyanri
11

Rails meldet nicht, dass es nicht installiert ist. Ihr Debian-System teilt Ihnen mit, dass keine Schienen installiert sind. Eine Sache bei rvm ist, dass es sich um ein kompliziertes Bash-Shell-Scripting handelt und Sie manchmal eine neue Shell starten müssen, damit Änderungen angezeigt werden. Sie sollten auch sicherstellen, dass die richtigen rvm-Shell-Befehle zu Ihrer .zshrc-Datei hinzugefügt wurden. Überprüfen Sie auch Ihren Pfad, um sicherzustellen, dass der Pfad ~ / .rvm / gems / ... enthalten ist.

David Nehme
quelle
1
Dies war es für mich, musste nur aus dem Ordner zurück und wieder hinein, damit die Rails-Konsole wieder aufgenommen werden konnte. Problem mit dem Öffnen von Terminalfenstern für Tage ...
Toxaq
Das war es auch für mich. Ich hätte nie gedacht, das Terminalfenster zu schließen und wieder zu öffnen. Nachdem ich Ruby aktualisiert hatte, funktionierte alles wie erwartet.
MikeH
9

Ich bin mit rbenv auf dieses Problem gestoßen. Es stellte sich heraus gem install rails, dass Rails tatsächlich installiert wurde, aber railsnicht als ausführbare Datei erkannt wurde. Die Lösung für mich war zu rennen rbenv rehash.

Ich fand dieses Update und weitere Details zum Einrichten von Rails 5 unter https://gorails.com/setup/osx/10.11-el-capitan

Wilson
quelle
Für mich tat ich das, rmvnachdem rbenv und Rails bereits funktionierten. Es hat alles kaputt gemacht, einschließlich CD, Bundle und Rails, und jetzt kann ich mit meinem Trackpad auf dem Mac buchstäblich nicht einmal mit der rechten Maustaste klicken. Lustige Zeiten.
Ka Mok
3

Ich hatte ein ähnliches Problem, aber mit rbenv.

Ich habe ursprünglich Ruby on Bash installiert. Dann habe ich mit .bashrc in VIM herumgespielt, diese Datei durcheinander gebracht und auf die Standardeinstellungen zurückgesetzt. Dabei habe ich den exportierten rbenv $ PATH unwissentlich entfernt. Aus diesem Grund erkannte mein Terminal nicht mehr, dass ich Ruby installiert hatte.

Ich habe die Ruby-Installationsseite ( https://gorails.com/setup/ubuntu/15.04 ) erneut besucht und versucht, meinen rbenv-Pfad mit diesem Befehl erneut einzurichten:

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

Es ging schief.

Zum Glück hatte ich bereits zwischen dem Zeitpunkt, als ich meine .bashrc durcheinander gebracht hatte, und dem Zeitpunkt, als ich versuchte, von meinem Terminal aus auf irb zuzugreifen, auf zsh (mit oh-my-zsh) umgestellt.

Meine Lösung bestand darin, den rbenv-Pfad gemäß der Installationsanleitung einzurichten, aber alle Instanzen von .bashrcdurch .zshrcwie folgt zu ersetzen :

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

Hoffe das hilft!

Yoonis
quelle
1

Folgendes habe ich getan. Und das Problem ist weg. Daher denke ich, dass das Problem gelöst ist.

rvm use system

Wechseln Sie zum System Ruby. Entferne alle darin enthaltenen Edelsteine ​​mit dem hier angegebenen und erläuterten Befehl . dann installiere ich gewünschte Ruby-Versionen von Grund auf neu:

rvm install 1.8.7
rvm install rails -v 3.0.7

dann bundle install

Für weitere Details muss möglicherweise die Gem-Installationsprozedur untersucht werden.

Null
quelle
1

Ich hatte heute dieses Problem. Ich habe es nicht zu 100% gelöst, aber in neuen Registerkarten kann ich es tun rvm use 2.5.5und rails -vfunktioniert dann einwandfrei.

  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
Bernstein
quelle
0

Ich hatte das gleiche Problem, aber die obige Lösung hat nicht geholfen.

Das war mein Szenario

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

Durch die Deinstallation von Rails und Railties und die Neuinstallation von Rails bei Verwendung von Ree wurde mein Problem behoben.

Hoffe, das hilft anderen in meiner Situation, nicht sicher, wie ich dazu gekommen bin: S.

mriddle89
quelle
0

Ich hatte das gleiche Problem. Am Ende habe ich meine .rvmrc gelöscht, rvm --create --rvmrc 1.8.7@projectwobei das 1.8.7@Projekt genau das ist, was Ihr Rubin sein soll. cded rein und raus und es hat funktioniert. http://sirupsen.com/get-started-right-with-rvm/

Matilda
quelle
0

Hatte gerade das gleiche Problem und konnte keine Antwort finden. Folgendes habe ich getan:

Finden Sie den aktuellen Schienenpfad

$ which rails

Gibt ungefähr so ​​etwas zurück: / usr / local / Rails

Aktuelle Version löschen :

$ sudo rm -rf /usr/local/rails 

Schienen wieder einbauen

$ sudo gem install rails
im_benton
quelle
Tun Sie dies nicht für Mac OS
Hosen
0

Ich bin auf dasselbe Problem gestoßen, und keine der Antworten hat geholfen, sodass ich dachte, ich würde meine Lösung teilen, falls sie für jemand anderen nützlich sein könnte.

Ich habe mit meinen .profileund .bashrcDateien herumgespielt und dabei meine RVM-Installation durcheinander gebracht. Ich weiß immer noch nicht genau, was ich getan habe, aber die Lösung war einfach. Musste nur den folgenden Befehl ausführen, der alle Ihre Systempfadeinstellungen für RVM bereinigt:

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

Beachten Sie, dass wenn Sie eine alte Version von RVM ausführen, dies möglicherweise Ihr Setup aktualisiert, was möglicherweise nicht Ihren Wünschen entspricht.

Dan
quelle
0

Eine mögliche Lösung besteht darin, nicht zwei verschiedene Konfigurationsdateien .bash_profileund zu verwalten.bashrc

Die Lösung, wie in diesem ausgezeichneten Beitrag zum Unterschied zwischen .bash_profileund vorgeschlagen, .bashrcbesteht darin, .bashrcaus Ihrer .bash_profileDatei zu beziehen und dann PATH und allgemeine Einstellungen einzugeben .bashrc.

Zitieren,

Fügen Sie die folgenden Zeilen hinzu .bash_profile:

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

Zitat beenden

osehgol
quelle
0

Ich hatte diesen Fehler nach dem Update von Ruby. Ich musste 'bundle install' ausführen, um das Problem zu beheben.

Josh Hunter
quelle
0

Versuchen Sie, gemset in Ihrer Gemfile explizit anzugeben:

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

Versuche dies:

Sie müssen die Einstellungen Ihres Terminalemulators ändern, um die Anmeldeshell zuzulassen.

Manchmal ist es erforderlich, /bin/bash --loginals Befehl zu verwenden.

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

Ich hatte diese Nachricht auf meinem Mac:

Rails ist derzeit nicht auf diesem System installiert. Um die neueste Version zu erhalten, geben Sie einfach Folgendes ein:

und es ging darum, $PATHnicht richtig zu sein. Das System verfügt über eine veraltete Version von Rails ( /usr/bin/ruby). Der Pfad zu Ihrer gewählten Version von ruby ​​( $HOME/.rbenv/versions/2.3.0/bin) muss vor der veralteten Version des Systems entlang $PATHvar stehen, wie unten:

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

Passen Sie es an Ihre Version von Ruby an.

Eliandro
quelle
0

Für MacOS (High Sierra):

Tokaido ist das Rails-Installationssystem, das auf der Rails-Handbuchseite "Erste Schritte" für Mac OS empfohlen wird . Es wird jedoch nicht nur installiert, sondern es werden auch eigene Shell-Skripte ausgeführt. Wenn Sie damit beginnen, eine eigene Shell-Umgebung zu verwenden, und später ein Terminal starten, ohne von der Tokaido-Shell aus zu starten, geschieht dies, da der Befehl "Rails" auf den ursprünglichen System-Rails-Code auf dem Mac zurückgreift.

Für mich gibt der Befehl 'which Rails' in einem normalen Terminal zurück

/usr/bin/rails

Aber nach dem Start von Tokaidos Shell gibt "welche Schienen" diesen Weg:

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

Aus dem Nichts war Rails momentan nicht installiert, aber was war das? rvm use ruby-2.6.0

... und habe meinen Pfad in .bash_profile überprüft export PATH="$PATH:$HOME/.rvm/bin"

Aaron Moreno
quelle
0

Ich bin auf dieses Problem gestoßen, aber es wurde behoben. Ich benutze macOS, ich benutze nicht rvm, ich benutze nur HomeBrew, ich benutze zuerst gem env, um das Installationsverzeichnis aller Edelsteine ​​zu erhalten, meins ist:

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

Anschließend versuchen Sie /usr/local/lib/ruby/gems/2.7.0, das ausführbare Dateiverzeichnis des von Ihnen installierten Rails-Gems zu suchen, z. B.: /usr/local/lib/ruby/gems/2.7.0/binUnd fügen es dann der Pfadumgebungsvariablen hinzu

Trump_Cute
quelle