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
・ 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."
-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")
-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]")
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
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.
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.
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
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.
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.
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!
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