[Erreur de version de Ruby] Comment résoudre Votre version de Ruby est ~, mais votre Gemfile a spécifié ~

introduction

Dans cet article, j'écrirai sur les solutions aux erreurs suivantes et pourquoi je le pensais. Pour le résoudre, j'ai fait référence aux articles et aux blogs de nombreuses personnes. Des liens seront affichés à tout moment aux endroits appropriés.

Your Ruby version is 2.6.3, but your Gemfile specified 2.5.1

Public cible

・ Ceux qui apprennent Ruby depuis plusieurs mois à un an. ・ Ceux qui rencontrent l'erreur ci-dessus pour la première fois. ・ "J'ai découvert que cela semble être résolu en définissant d'une manière ou d'une autre des variables d'environnement." "Mais quand j'entends les mots vim et shell, je veux faire une pause avant de le résoudre."

Objectif

-Opérer vim pour passer le PATH (ci-après simplement appelé "chemin") au fichier sous rbenv et résoudre l'erreur de version.

・ Comprenez pourquoi passer le chemin résout le problème.

Qu'est-ce qu'une variable d'environnement lors du passage d'un chemin

[Terme informatique "Chemin" qui vous fait vous sentir "compris" même si vous "comprenez" et "ne comprenez pas"] (https://wa3.i-3-i.info/word1166.html "Terme informatique" Chemin "qui vous donne l'impression de comprendre même si vous ne comprenez pas")

supposition

-Rbenv (outil de gestion de version ruby) est déjà installé.

-Il a été confirmé que la version de ruby que vous souhaitez modifier (2.5.1 dans ce cas) est installée.

[Utiliser ruby avec rbenv [zsh]] (https://qiita.com/itsmedachan/items/b86a124aec5a55b375e8 "Utiliser ruby avec rbenv [zsh]")

table des matières

1 Détails de l'erreur

2 Essayez de changer de version de Ruby

Si le problème n'est pas résolu dans 3.2, vérifiez la destination de référence ruby. 3-1 Que se passe-t-il lorsque la commande ruby est exécutée 3-2 Comment vérifier le fichier source d'exécution de la commande ruby

4 Définissez la commande ruby à exécuter à partir du fichier sous rbenv (passez le chemin)

5 Enfin

1 Détails de l'erreur

Les détails de l'erreur sont ici.

Your Ruby version is 2.6.3, but your Gemfile specified 2.5.1

La signification de l'erreur est "La version de Ruby dans votre environnement PC est la 2.6.3." "Mais la version Ruby de l'application que vous développez actuellement est la 2.5.1." C'est.

2 Essayez de changer de version de Ruby.

Suivez les étapes ci-dessous pour essayer de changer de version. -Vérifiez la version Ruby. -Utilisez rbenv pour changer de version. ・ Vérifiez si le changement a été effectué.

(1) Vérifiez la version de Ruby dans votre environnement PC.

ruby -v

(2) Vérifiez la version de Ruby appliquée à l'application en cours de développement.

rbenv -v

(3) Essayez de changer la version en utilisant rbenv.

Lors de la spécification de la version de Ruby à utiliser dans un répertoire particulier.

rbenv local 2.6.3

Lors de la spécification de la version de Ruby à utiliser pour l'ensemble du système.

rbenv global 2.6.3

(4) Vérifiez si la version Ruby a été changée.

ruby -v

ruby 2.6.3p645 (〜)...         //Résultat de sortie

Cela n'a pas changé.

3 Si le problème n'est pas résolu en 2, vérifiez la destination de référence

Si vous n'utilisez pas la méthode ci-dessus, la destination de référence lors de l'exécution de la commande ruby peut être différente.

[Que faire lorsque la version Ruby ne change pas! ] (https://qiita.com/opiyo_taku/items/3312a75d5916f6cd32b1 "Que faire si la version Ruby ne change pas!")

Dans cet article, nous examinerons la cause de l'erreur et pourquoi elle peut être résolue. Par conséquent, cela sera expliqué dans le flux suivant.

3-1 Que se passe-t-il lorsque la commande ruby est exécutée 3-2 Comment vérifier le fichier source d'exécution de la commande ruby

3-1 Que se passe-t-il lorsque la commande ruby est exécutée

Il existe de nombreux fichiers sur notre PC contenant toutes les commandes.

[Qu'est-ce qu'une variable d'environnement via Path] (https://qiita.com/fuwamaki/items/3d8af42cf7abee760a81 "Le chemin de passage est une variable d'environnement")

Par exemple, lorsque nous tapons une commande sur le terminal. Sur le PC, recherchez le fichier contenant la commande saisie dans le terminal parmi de nombreux fichiers, extrayez-y la commande et exécutez-la.

La commande ruby est la même.

Cependant, il se peut qu'aucun fichier ne contienne la commande ruby. Cela signifie que si vous installez rbenv comme cette fois, -Fichiers sous rbenv créés au moment de l'installation ・ Fichiers à l'origine sur le PC Cela signifie que les deux peuvent contenir la commande ruby.

Dans ce cas, -Fichier sous rbenv-> La version 2.5.1 de la commande ruby est incluse. -Fichiers à l'origine sur le PC → Contient la version 2.6.3 de la commande ruby. Cela signifie que la situation peut être considérée.

3-2 Comment vérifier le fichier source d'exécution de la commande ruby

Maintenant, vérifions "Si vous tapez la commande ruby, dans quel fichier se trouve la commande ruby?" Utilisez la commande which pour voir la référence.


which ruby

usr/bin/ruby   //Résultat de sortie

Ce résultat de sortie est "En exécutant la commande ruby, exécutez la commande ruby dans le fichier sous usr" Cela signifie que · · ·

Si le contrôle de version de ruby est effectué par rbenv, la commande ruby est également incluse dans le fichier sous rbenv. Si la commande ruby est exécutée, le résultat de sortie sera le suivant.

/Users/you/.rbenv/shims/ruby

J'ai fait référence à cet article pour la raison de cette configuration. [Rôle de rbenv] (https://qiita.com/souichirou/items/d4196faa0df9e4bacf17 "Rôle de rbenv")

Pour citer une partie de l'article, Lors de l'installation de rbenv

~ / .rbenv / (dossier racine)

~ / .rbenv / shims / (dossier de sauvegarde des wrappers pour les commandes installées par ruby et gem)

Etc. entrera dans le PC. La commande ruby que vous souhaitez exécuter est stockée dans ce dossier shims.

4 Définissez la commande ruby à exécuter à partir du fichier sous rbenv (passez le chemin)

Réglez le PC pour qu'il apporte la commande ruby de "/Users/you/.rbenv/shims/ruby" au lieu de "usr / bin / ruby".

Les articles suivants ont servi de référence.

[Que faites-vous avec le "passage" (macOS / zsh)] (https://knmts.com/become-engineer-2/ "Ce que vous faites en" passant le chemin "(macOS / zsh)")

Ici, nous écrirons la procédure suivante. ・ Ouvrir vim -Ecrire le code, enregistrer et quitter. ・ Reflétez les changements.

(1) Ouvrez vim avec la commande suivante. (Si vous utilisez bash dans votre shell, veuillez remplacer ".zshrc" par ".bash_profile".)

vim ~/.zshrc

(2) Appuyez sur i pour le rendre modifiable. Rien ne change à l'écran, mais vous pouvez ajouter et modifier.

(3) Écrivez le code suivant. S'il est déjà mentionné, écrivez-le sur la ligne en dessous.

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

(4) Appuyez sur esc pour permettre l'enregistrement et la sortie. Je pense que le curseur se déplacera vers le bas. (5) Tapez: wq et appuyez sur Entrée. (6) L'écran reviendra à l'écran d'origine, tapez donc la commande suivante. La commande source est une commande qui reflète les modifications.

source ~/.zshrc

(7) Vérifiez la version ruby.

ruby -v
ruby 2.5.1p645 (〜)...         //Résultat de sortie

Ça s'est bien passé!

5 Enfin

Si vous trouvez des erreurs ou des omissions dans le contenu de l'article, veuillez nous en informer dans les commentaires.

Merci aux auteurs des articles et des blogs pour référence et citation.

Recommended Posts

[Erreur de version de Ruby] Comment résoudre Votre version de Ruby est ~, mais votre Gemfile a spécifié ~
[Ruby] Votre version de Ruby est 2.6.3, mais votre Gemfile a spécifié 2.5.8
Votre version Ruby est 2.4.6, mais votre Gemfile a spécifié 2.6.4
[Rails] Solution pour "Uglifier :: Erreur: caractère inattendu" ""
référentiel Le gem spécifié est le bundle installé mais pas mis à jour vers la dernière version
[Heroku] Comment résoudre lorsqu'une erreur est affichée par git push heroku master
[Ruby] Comment utiliser rbenv (la version `x.x.x 'n'est pas installée)
Comment résoudre l'erreur SSL_connect dans le SDK PayPal Ruby
Comment abaisser la version java
Comment utiliser le retour Ruby
[Ruby] Comment commenter
Ruby: Comment utiliser les cookies
Comment vérifier la version JSF
Comment créer votre propre contrôleur correspondant à / error avec Spring Boot
[Pour les débutants] On dit que le rubis est rubis, mais qu'en est-il?
J'obtiens une erreur de version de Ruby lorsque j'essaye de démarrer Rails.
Project facet Java version 13 n'est pas pris en charge. Comment faire avec
Comment résoudre l'erreur inconnue apparue lors de l'utilisation de slf4j en Java
Comment installer Ruby via rbenv
Comment utiliser Ruby on Rails
Comment installer Bootstrap dans Ruby
Comment utiliser la méthode Ruby inject
Comment exécuter l'IRB de Ruby (Ruby interactif)
[Docker] Comment résoudre la fonction d'erreur non implémentée @ io_fread ~ [Super facile]
Comment créer un environnement pour n'importe quelle version de Ruby en utilisant rbenv
Comment résoudre la construction de l'environnement local de Ruby on Rails (MAC)!