[RAILS] [Ruby] Ihre Ruby-Version ist 2.6.3, aber Ihre Gemfile hat 2.5.8 angegeben

Einführung

Ich habe einen Fehler im Titel erhalten, als ich Ruby berührt habe, also habe ich ihn als Artikel geschrieben.

Begegnung mit Fehler

Beim Berühren einer App, die gerade erstellt wurde, ist ein Fehler bei der Bundle-Installation aufgetreten.

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

Aus der Fehleranweisung kann ich schließen, dass die Version von Ruby und die von Gemfile angegebene Version unterschiedlich sind.

Dazugehörigen

Überprüfen Sie zunächst die Ruby-Version.

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

Da rbenv verwendet wird, überprüfen Sie es auch dort

$ rbenv versions
  system
  2.1.5
  2.5.1
* 2.5.8
  2.6.3
  2.7.1

Es sieht so aus, als ob es richtig aussieht.

Lassen Sie uns mit "Gem Environment" überprüfen, wo Sie auf den Pfad von Ruby verweisen können, den Sie jetzt verwenden.

$ 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:
  ...(Fortsetzen)

Nun, es sieht so aus, als wäre es nicht falsch ...

Die Lösung

Überprüfen Sie die Position des Bundles

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

Schauen Sie sich den Inhalt an

-> % 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

...(Fortsetzen)

Oh, ich beziehe mich auf / System / Library / Frameworks / Ruby.framework / Versions / 2.6 / usr / bin / ruby ...

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

Der Verweis auf "/ Users / username / .rbenv / shims / ruby" wurde geändert.

Die Bundle-Installation wurde erfolgreich bestanden!

Referenzartikel

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

Recommended Posts

[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
[Ruby-Versionsfehler] So lösen Sie Ihre Ruby-Version ist ~, aber Ihre Gemfile hat ~ angegeben
Verhalten, wenn Platzhalter (**) in Ruby angegeben ist
Die Ruby-Version wird in der .rbenv / version-Datei verwaltet
Repository Das angegebene Juwel ist im Bundle installiert, aber nicht auf die neueste Version aktualisiert
Ich habe die Version und die Schienen neu angegeben, aber aus irgendeinem Grund ist die neueste Version enthalten ~