[RAILS] [Ruby] Votre version de Ruby est 2.6.3, mais votre Gemfile a spécifié 2.5.8

introduction

J'ai eu une erreur dans le titre lorsque je touchais Ruby, alors je l'ai écrit sous forme d'article.

Rencontre avec une erreur

J'ai rencontré une erreur lors de l'installation du bundle en touchant une application en cours de création.

$ bundle install
-> Ruby version is 2.6.3, but your Gemfile specified 2.5.8

D'après la déclaration d'erreur, je peux penser que la version de Ruby et la version spécifiée par Gemfile sont différentes.

Correspondant

Tout d'abord, vérifiez la version Ruby.

$ ruby -v
-> ruby 2.5.8p224 (2020-03-31 revision 67882) [x86_64-darwin19]

Puisque rbenv est utilisé, vérifiez-le également

$ rbenv versions
  system
  2.1.5
  2.5.1
* 2.5.8
  2.6.3
  2.7.1

On dirait que ça a l'air juste.

Vérifions avec gem environment où vous pouvez vous référer au chemin de Ruby que vous utilisez maintenant.

$ gem environment
-> RubyGems Environment:
  - RUBYGEMS VERSION: 2.7.6.2
  - RUBY VERSION: 2.5.8 (2020-03-31 patchlevel 224) [x86_64-darwin19]
  - INSTALLATION DIRECTORY: /Users/username/.rbenv/gems/2.5.0
  - USER INSTALLATION DIRECTORY: /Users/username/.gem/ruby/2.5.0
  - RUBY EXECUTABLE: /Users/username/.rbenv/versions/2.5.8/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/username/.rbenv/gems/2.5.0/bin
  - SPEC CACHE DIRECTORY: /Users/username/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/username/.rbenv/versions/2.5.8/etc
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-19
  - GEM PATHS:
     - /Users/username/.rbenv/gems/2.5.0
  - GEM CONFIGURATION:
  ...(Continuer)

Eh bien, il semble que ce n'est pas faux ...

La solution

Vérifiez l'emplacement du bundle

$ which bundle
-> /usr/local/bin/bundle

Jetez un œil au contenu

-> % cat /usr/local/bin/bundle 

#!/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby
#
# This file was generated by RubyGems.
#
# The application 'bundler' is installed as part of a gem, and
# this file is here to facilitate running it.
#

require 'rubygems'

version = ">= 0.a"

str = ARGV.first
if str
  str = str.b[/\A_(.*)_\z/, 1]
  if str and Gem::Version.correct?(str)
    version = str
    ARGV.shift
  end
end

...(Continuer)

Oh, je fais référence à / System / Library / Frameworks / Ruby.framework / Versions / 2.6 / usr / bin / ruby ...

$ which ruby
/Users/username/.rbenv/shims/ruby 

Modification de la référence à / Users / username / .rbenv / shims / ruby.

L'installation du bundle a réussi!

Article de référence

https://qiita.com/h5y1m141@github/items/74029cab9706971c8dbe

Recommended Posts

[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
[Erreur de version de Ruby] Comment résoudre Votre version de Ruby est ~, mais votre Gemfile a spécifié ~
Comportement lorsque le caractère générique (**) est spécifié dans ruby
La version ruby est gérée dans le fichier .rbenv / version
référentiel Le gem spécifié est le bundle installé mais pas mis à jour vers la dernière version
J'ai spécifié la version et les rails nouveaux, mais pour une raison quelconque, la dernière version est incluse ~