[RAILS] La version de Ruby installée par défaut sur le Mac a été référencée, pas de rbenv

Différence entre la version de rbenv et de Ruby installée par défaut sur Mac

Quand j'ai essayé de commencer à travailler et que j'ai fait bin / rails s comme d'habitude, j'ai reçu le message suivant.

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

Quand je vérifie la version de Ruby définie dans le système, c'est 2.6.3 même si j'aurais dû installer 2.6.5 avec rbenv.

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

J'ai également vérifié la version spécifiée dans rbenv au cas où, mais il n'y a pas d'erreur dans 2.6.5.

$ rbenv versions
  system
* 2.6.5 (set by /Users/Nom d'utilisateur/desktop/Nom du répertoire/.ruby-version)
  2.7.0

Vérifiez la référence Ruby

Tout d'abord, vérifiez si le chemin rbenv est en place, mais il n'y a pas eu de problème.

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

Lorsque j'ai vérifié la destination de référence de la commande ruby, elle n'était pas référencée à partir de rbenv comme indiqué ci-dessous. La même chose était vraie pour la commande bundler.

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

J'ai également vérifié l'ordre dans lequel les chemins étaient lus, mais il n'y avait aucun problème avec l'ordre de lecture. Par conséquent, j'ai émis l'hypothèse qu'il pourrait y avoir un problème avec l'état d'installation de rbenv en premier lieu. Tout d'abord, j'ai vérifié les cales de rbenv. shims est un fichier qui gère les commandes exécutables de rbenv telles que ʻirb, gem, rake, rails et ruby`.

$ ls -l ~/.rbenv/shims
#C'était vide.

Comme le contenu était vide, la version de Ruby gérée par rbenv n'était pas référencée. A-t-il été supprimé d'une manière ou d'une autre ...

Installer une autre version de Ruby

Au début, je n'avais pas l'intention d'installer une autre version de Ruby, j'ai donc lancé rehash, qui est une fonction de rbenv, pour ajouter un ensemble de commandes aux shims.

$ rbenv rehash

#Vérifiez les cales si des commandes ont été ajoutées
$ ls -l ~/.rbenv/shims
#Laissez vide...

L'exécution de rehash n'a ajouté aucune commande. J'ai fait beaucoup de recherches, mais je n'ai pas pu comprendre la cause. À ce moment-là, j'ai décidé d'installer Ruby 2.6.6, qui est une version stable au 26 mai 2020, au moment de la rédaction de cet article.

Installez Ruby 2.6.6

$ rbenv install 2.6.6
$ rbenv rehash  #Ajouter une commande
$ rbenv global 2.6.6 #Spécifiez la version à utiliser à l'échelle du système

Vérifiez la destination de référence de la commande ruby

$ which ruby
/Users/Nom d'utilisateur/.rbenv/shims/ruby
$ which bundler
/Users/kawafujimasashi/.rbenv/shims/bundler #Vérifiez le bundler au cas où. Il a été ajouté sans aucun problème.

Appliquer la version de Ruby installée sur Rails

#Accédez au répertoire de niveau supérieur de votre application Rails
$ rbenv local 2.6.6 #Spécifiez la version de Ruby à utiliser.ruby-réécrire le fichier de version
$ bundle install

Et quand j'ai exécuté bin / rails s, la version spécifiée par rbenv était référencée et cela fonctionnait.

Page référencée

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

Recommended Posts

La version de Ruby installée par défaut sur le Mac a été référencée, pas de rbenv
Gérez la version de Ruby elle-même avec rbenv
[Ruby] Comment utiliser rbenv (la version `x.x.x 'n'est pas installée)
Gérer plusieurs versions de Ruby sur Mac [macOS + rbenv]
Que faire si vous avez installé Ruby avec rbenv mais que la version ne change pas
[Java] L'histoire selon laquelle le tableau attendu n'a pas été obtenu par la méthode String.split.
Comment résoudre la construction de l'environnement local de Ruby on Rails (MAC)!
La version de développement de Ruby 3.0 a une fonction qui permet une attribution fractionnée par attribution de droits.
[Ruby on Rails] Implémentez un graphique circulaire qui spécifie le pourcentage de couleurs
Vérifiez la version de JDK installée et la version de JDK activée
[Ruby on Rails] Jusqu'à l'introduction de RSpec
La version ruby est gérée dans le fichier .rbenv / version
Installez la dernière version de Jenkins sur Ubuntu 16
[Ruby on Rails] Implémentation de la validation qui ne fonctionne que lorsque les conditions sont remplies
Apprenez la signification de «transmettre le PATH» en créant un environnement de développement Java sur Mac
Bibliothèque non chargée lors de la tentative de mise à niveau de la version ruby et des rails s
[Spring Boot] L'histoire selon laquelle le bean de la classe avec l'annotation ConfigurationProperties n'a pas été trouvé
Un mémo sur l'exécution d'Azure Functions × Node.js × Typescript avec Docker sur l'environnement virtuel local et le débogage à partir de VSCode