[Ruby-Versionsfehler] So lösen Sie Ihre Ruby-Version ist ~, aber Ihre Gemfile hat ~ angegeben

Einführung

In diesem Artikel werde ich über die Lösungen für die folgenden Fehler und warum ich das dachte, schreiben. Bei der Lösung habe ich auf die Artikel und Blogs vieler Menschen verwiesen. Links werden jederzeit an den entsprechenden Stellen veröffentlicht.

Your Ruby version is 2.6.3, but your Gemfile specified 2.5.1

Zielgruppe

・ Diejenigen, die Ruby seit mehreren Monaten bis zu einem Jahr lernen. ・ Diejenigen, die zum ersten Mal auf den oben genannten Fehler stoßen. ・ "Ich habe herausgefunden, dass es durch das Setzen der Umgebungsvariablen gelöst zu werden scheint." "Aber wenn ich die Wörter vim und shell höre, möchte ich eine Pause machen, bevor ich sie löse."

Zweck

-Operate vim, um den PATH (im Folgenden einfach als "Pfad" bezeichnet) an die Datei unter rbenv zu übergeben und den Versionsfehler zu beheben.

・ Verstehen Sie, warum das Übergeben des Pfads das Problem löst.

[Was ist eine Umgebungsvariable beim Durchlaufen eines Pfads?) (Https://qiita.com/fuwamaki/items/3d8af42cf7abee760a81 "Was ist eine Umgebungsvariable beim Durchlaufen eines Pfads?")

[IT-Begriff "Pfad", mit dem Sie sich "verstanden" fühlen, auch wenn Sie "verstehen" und "nicht verstehen"] (https://wa3.i-3-i.info/word1166.html "IT-Begriff" Pfad ", mit dem Sie das Gefühl haben, zu verstehen, auch wenn Sie nicht verstehen")

Annahme

-Rbenv (Ruby Versionsverwaltungstool) ist bereits installiert.

-Es wurde bestätigt, dass die Ruby-Version, die Sie ändern möchten (in diesem Fall 2.5.1), installiert ist.

[Verwenden Sie Ruby mit rbenv [zsh]] (https://qiita.com/itsmedachan/items/b86a124aec5a55b375e8 "Verwenden Sie Ruby mit rbenv [zsh]")

Inhaltsverzeichnis

1 Fehlerdetails

2 Versuchen Sie, die Ruby-Versionen zu wechseln

Wenn das Problem in 3.2 nicht behoben ist, überprüfen Sie das Ruby-Referenzziel. 3-1 Was passiert, wenn Sie den Ruby-Befehl ausführen? 3-2 So überprüfen Sie die Ausführungsquelldatei des Ruby-Befehls

4 Legen Sie den Ruby-Befehl fest, der aus der Datei unter rbenv ausgeführt werden soll (übergeben Sie den Pfad).

5 Endlich

1 Fehlerdetails

Die Details des Fehlers finden Sie hier.

Your Ruby version is 2.6.3, but your Gemfile specified 2.5.1

Die Bedeutung des Fehlers ist "Die Version von Ruby in Ihrer PC-Umgebung ist 2.6.3." "Die Ruby-Version der Anwendung, die Sie gerade entwickeln, ist jedoch 2.5.1." Das ist.

2 Versuchen Sie, die Ruby-Version zu wechseln.

Führen Sie die folgenden Schritte aus, um zu versuchen, die Version zu wechseln. -Überprüfen Sie die Ruby-Version.

(1) Überprüfen Sie die Version von Ruby in Ihrer PC-Umgebung.

ruby -v

(2) Überprüfen Sie die Version von Ruby, die auf die in der Entwicklung befindliche Anwendung angewendet wird.

rbenv -v

(3) Versuchen Sie, die Version mit rbenv zu ändern.

Wenn Sie die Version von Ruby angeben, die in einem bestimmten Verzeichnis verwendet werden soll.

rbenv local 2.6.3

Wenn Sie die Version von Ruby angeben, die für das gesamte System verwendet werden soll.

rbenv global 2.6.3

(4) Überprüfen Sie, ob die Ruby-Version gewechselt wurde.

ruby -v

ruby 2.6.3p645 (〜)...         //Ausgabeergebnis

Es hat nicht gewechselt.

3 Wenn das Problem in 2 nicht behoben ist, überprüfen Sie das Referenzziel

Wenn Sie nicht mit der obigen Methode wechseln, kann das Referenzziel bei der Ausführung des Ruby-Befehls unterschiedlich sein.

[Was tun, wenn die Ruby-Version nicht wechselt? ]] (https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1 "Was tun, wenn die Ruby-Version nicht wechselt?")

In diesem Artikel betrachten wir die Ursache des Fehlers und warum er behoben werden kann. Daher wird dies im folgenden Ablauf erläutert.

3-1 Was passiert, wenn Sie den Ruby-Befehl ausführen? 3-2 So überprüfen Sie die Ausführungsquelldatei des Ruby-Befehls

3-1 Was passiert, wenn Sie den Ruby-Befehl ausführen?

Auf unserem PC befinden sich viele Dateien, die alle Befehle enthalten.

[Was ist eine Umgebungsvariable, die durch den Pfad geleitet werden soll?] (https://qiita.com/fuwamaki/items/3d8af42cf7abee760a81 "Passing Path ist eine Umgebungsvariable")

Zum Beispiel, wenn wir einen Befehl auf dem Terminal eingeben. Suchen Sie auf dem PC aus vielen Dateien die Datei, die den im Terminal eingegebenen Befehl enthält, extrahieren Sie den Befehl daraus und führen Sie ihn aus.

Der Ruby-Befehl ist der gleiche.

Möglicherweise gibt es jedoch nicht eine Datei, die den Befehl ruby enthält. Dies bedeutet, dass, wenn Sie rbenv wie dieses Mal installieren, -Files unter rbenv erstellt zum Zeitpunkt der Installation ・ Dateien ursprünglich auf dem PC Dies bedeutet, dass beide den Befehl ruby enthalten können.

In diesem Fall, -File unter rbenv-> 2.5.1 Version des Ruby-Befehls ist enthalten. -Files ursprünglich auf dem PC → Enthält die Version 2.6.3 des Ruby-Befehls. Dies bedeutet, dass die Situation berücksichtigt werden kann.

3-2 So überprüfen Sie die Ausführungsquelldatei des Ruby-Befehls

Lassen Sie uns nun überprüfen: "Wenn Sie den Ruby-Befehl eingeben, in welcher Datei befindet sich der Ruby-Befehl?" Verwenden Sie den Befehl which, um die Referenz anzuzeigen.


which ruby

usr/bin/ruby   //Ausgabeergebnis

Dieses Ausgabeergebnis ist "Führen Sie durch Ausführen des Ruby-Befehls den Ruby-Befehl in der Datei unter usr aus." Es bedeutet, dass · · ·

Wenn die Ruby-Versionskontrolle von rbenv durchgeführt wird, ist der Ruby-Befehl auch in der Datei unter rbenv enthalten. Wenn der Ruby-Befehl ausgeführt wird, lautet das Ausgabeergebnis wie folgt.

/Users/you/.rbenv/shims/ruby

Ich habe auf diesen Artikel für den Grund für diese Konfiguration verwiesen. [Rolle von rbenv] (https://qiita.com/souichirou/items/d4196faa0df9e4bacf17 "Rolle von rbenv")

Um einen Teil des Artikels zu zitieren, Bei der Installation von rbenv

~ / .rbenv / (Stammordner)

~ / .rbenv / shims / (Ordner zum Speichern von Wrappern für Befehle, die von Ruby und Gem installiert wurden)

Usw. betritt den PC. Der Ruby-Befehl, den Sie ausführen möchten, wird in diesem Shims-Ordner gespeichert.

4 Legen Sie den Ruby-Befehl fest, der aus der Datei unter rbenv ausgeführt werden soll (übergeben Sie den Pfad).

Stellen Sie den PC so ein, dass der Ruby-Befehl von "/Users/you/.rbenv/shims/ruby" anstelle von "usr / bin / ruby" angezeigt wird.

Die folgenden Artikel wurden als Referenz verwendet.

[Was machst du mit "Passing Through" (macOS / zsh)] (https://knmts.com/become-engineer-2/ "Was Sie mit" Passing the Path "(macOS / zsh) machen")

Hier schreiben wir das folgende Verfahren. ・ Öffnen Sie vim

(1) Öffnen Sie vim mit dem folgenden Befehl. (Wenn Sie bash in Ihrer Shell verwenden, ersetzen Sie ".zshrc" durch ".bash_profile".)

vim ~/.zshrc

(2) Drücken Sie i, um es bearbeitbar zu machen. Auf dem Bildschirm ändert sich nichts, aber Sie können hinzufügen und bearbeiten.

(3) Schreiben Sie den folgenden Code. Wenn es bereits erwähnt ist, schreiben Sie es in die Zeile darunter.

export PATH="~/.rbenv/shims:/usr/local/bin:$PATH"
eval "$(rbenv init -)"

(4) Drücken Sie esc, um das Speichern und Beenden zu ermöglichen. Ich denke, der Cursor bewegt sich nach unten. (5) Geben Sie: wq ein und drücken Sie die Eingabetaste. (6) Der Bildschirm kehrt zum ursprünglichen Bildschirm zurück. Geben Sie daher den folgenden Befehl ein. Der Quellbefehl ist ein Befehl, der die Änderungen widerspiegelt.

source ~/.zshrc

(7) Überprüfen Sie die Ruby-Version.

ruby -v
ruby 2.5.1p645 (〜)...         //Ausgabeergebnis

Es ging gut!

5 Endlich

Wenn Sie im Inhalt des Artikels Fehler oder Auslassungen finden, teilen Sie uns dies bitte in den Kommentaren mit.

Vielen Dank an die Autoren der Artikel und Blogs als Referenz und Zitat.

Recommended Posts

[Ruby-Versionsfehler] So lösen Sie Ihre Ruby-Version ist ~, aber Ihre Gemfile hat ~ angegeben
[Ruby] Ihre Ruby-Version ist 2.6.3, aber Ihre Gemfile hat 2.5.8 angegeben
Ihre Ruby-Version ist 2.4.6, aber Ihre Gemfile hat 2.6.4 angegeben
[Rails] Lösung für "Uglifier :: Error: Unerwartetes Zeichen '' '"
Repository Das angegebene Juwel ist im Bundle installiert, aber nicht auf die neueste Version aktualisiert
[Heroku] So lösen Sie, wenn ein Fehler von git push heroku master angezeigt wird
[Ruby] Verwendung von rbenv (Version `x.x.x' ist nicht installiert)
So beheben Sie den SSL_connect-Fehler im PayPal Ruby SDK
So senken Sie die Java-Version
Verwendung von Ruby return
[Ruby] Wie man auskommentiert
Ruby: Wie man Cookies benutzt
So überprüfen Sie die JSF-Version
So erstellen Sie mit Spring Boot einen eigenen Controller, der / error entspricht
[Für Anfänger] Ruby soll Rubin sein, aber was ist damit?
Ich erhalte einen Ruby-Versionsfehler, wenn ich versuche, Rails zu starten.
Projektfacette Java Version 13 wird nicht unterstützt. Wie man damit umgeht
So beheben Sie den unbekannten Fehler, der bei der Verwendung von slf4j in Java aufgetreten ist
So installieren Sie Ruby über rbenv
Verwendung von Ruby on Rails
So installieren Sie Bootstrap in Ruby
Verwendung der Ruby-Inject-Methode
Wie man Ruby's irb ausführt (interaktiver Ruby)
[Docker] So lösen Sie die nicht implementierte Fehlerfunktion @ io_fread ~ [Super einfach]
So erstellen Sie mit rbenv eine Umgebung für eine beliebige Version von Ruby
So lösen Sie die lokale Umgebungskonstruktion von Ruby on Rails (MAC)!