[RAILS] Auf die Version von Ruby, die standardmäßig auf dem Mac installiert war, wurde verwiesen, nicht von rbenv

Unterschied zwischen der auf dem Mac standardmäßig installierten rbenv- und Ruby-Version

Als ich versuchte, mit der Arbeit zu beginnen und wie gewohnt "bin / rail" machte, erhielt ich die folgende Meldung.

$ bin/rails s
Your Ruby version is 2.6.3, but your Gemfile specified 2.6.5

Wenn ich die im System festgelegte Ruby-Version überprüfe, ist sie 2.6.3, obwohl ich 2.6.5 mit rbenv hätte installieren sollen.

$ ruby -v
ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin19]

Ich habe auch die in rbenv angegebene Version für alle Fälle überprüft, aber es gibt keinen Fehler in 2.6.5.

$ rbenv versions
  system
* 2.6.5 (set by /Users/Nutzername/desktop/Verzeichnisname/.ruby-version)
  2.7.0

Überprüfen Sie die Ruby-Referenz

Überprüfen Sie zunächst, ob der Pfad rbenv vorhanden ist, aber es gab kein Problem.

$ cat ~/.bash_profile
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

Als ich das Referenzziel des Befehls "ruby" überprüfte, wurde von rbenv nicht darauf verwiesen, wie unten gezeigt. Gleiches gilt für den Befehl "bundler".

$ which ruby
/usr/local/bin/ruby
$ which bundler
/usr/local/bin/bundler

Ich habe auch die Reihenfolge überprüft, in der die Pfade gelesen wurden, aber es gab kein Problem mit der Lesereihenfolge. Daher habe ich spekuliert, dass es überhaupt ein Problem mit dem Installationsstatus von rbenv geben könnte. Zuerst überprüfte ich Unterlegscheiben von Rbenv. shims ist eine Datei, die die ausführbare Datei "irb, gem, rake, Rails, Ruby" und andere Befehle von rbenv verwaltet.

$ ls -l ~/.rbenv/shims
#Es war leer.

Da der Inhalt leer war, wurde gesagt, dass auf die von rbenv verwaltete Version von Ruby nicht verwiesen wurde. Wurde es irgendwie gelöscht ...

Installieren Sie eine andere Version von Ruby

Zuerst hatte ich nicht vor, eine andere Version von Ruby zu installieren, also habe ich "rehash" ausgeführt, eine Funktion von rbenv, um Shims eine Reihe von Befehlen hinzuzufügen.

$ rbenv rehash

#Überprüfen Sie die Unterlegscheiben, wenn Befehle hinzugefügt wurden
$ ls -l ~/.rbenv/shims
#Leer lassen...

Beim Ausführen von "Rehash" wurden keine Befehle hinzugefügt. Ich habe viel recherchiert, aber ich konnte die Ursache nicht herausfinden. Zu diesem Zeitpunkt habe ich beschlossen, Ruby 2.6.6 zu installieren, eine stabile Version vom 26. Mai 2020, als dieser Artikel geschrieben wurde.

Installieren Sie Ruby 2.6.6

$ rbenv install 2.6.6
$ rbenv rehash  #Fügen Sie einen Befehl hinzu
$ rbenv global 2.6.6 #Geben Sie die systemweit zu verwendende Version an

Überprüfen Sie das Referenzziel des Befehls "ruby"

$ which ruby
/Users/Nutzername/.rbenv/shims/ruby
$ which bundler
/Users/kawafujimasashi/.rbenv/shims/bundler #Überprüfen Sie den Bundler für alle Fälle. Es wurde ohne Probleme hinzugefügt.

Wenden Sie die auf Rails installierte Version von Ruby an

#Wechseln Sie in das Verzeichnis der obersten Ebene Ihrer Rails-Anwendung
$ rbenv local 2.6.6 #Geben Sie die zu verwendende Ruby-Version an.ruby-Schreiben Sie die Versionsdatei neu
$ bundle install

Und als ich bin / Rails ausgeführt habe, wurde auf die von rbenv angegebene Version verwiesen und es hat funktioniert.

Referenzierte Seite

Offizieller Github README https://github.com/rbenv/rbenv#how-rbenv-hooks-into-your-shell

Recommended Posts

Auf die Version von Ruby, die standardmäßig auf dem Mac installiert war, wurde verwiesen, nicht von rbenv
Verwalten Sie die Version von Ruby selbst mit rbenv
[Ruby] Verwendung von rbenv (Version `x.x.x' ist nicht installiert)
Verwalten Sie mehrere Versionen von Ruby unter Mac [macOS + rbenv]
Was tun, wenn Sie Ruby mit rbenv installiert haben, die Version sich jedoch nicht ändert?
[Java] Die Geschichte, dass das erwartete Array nicht von der String.split-Methode erhalten wurde.
So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!
Die Entwicklungsversion von Ruby 3.0 verfügt über eine Funktion, die eine geteilte Zuweisung durch richtige Zuweisung ermöglicht.
[Ruby on Rails] Implementieren Sie ein Kreisdiagramm, das den Prozentsatz der Farben angibt
Überprüfen Sie die installierte und aktivierte JDK-Version
[Ruby on Rails] Bis zur Einführung von RSpec
Die Ruby-Version wird in der .rbenv / version-Datei verwaltet
Installieren Sie die neueste Version von Jenkins unter Ubuntu 16
[Ruby on Rails] Implementierung einer Validierung, die nur funktioniert, wenn die Bedingungen erfüllt sind
Erfahren Sie, was es bedeutet, den Pfad zu übergeben, indem Sie eine Java-Entwicklungsumgebung auf einem Mac erstellen
Bibliothek nicht geladen, wenn versucht wird, die Ruby-Version und die Schienen zu aktualisieren
[Spring Boot] Die Geschichte, dass die Bean der Klasse mit der Annotation ConfigurationProperties nicht gefunden wurde
Ein Memo zum Ausführen von Azure-Funktionen × Node.js × Typescript mit Docker in der lokalen virtuellen Umgebung und zum Debuggen von VSCode