k12da
@k12da (K Yoshida)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

Rubyのバージョンが切替わらない

解決したいこと

ローカル環境でrubyのバージョンを切り替えたいです。
バージョン3.0.0→3.1.2

発生している問題・エラー

rails g controllerコマンドでコントローラーを新規作成しようとしていました。

$ rails g controller users 

(Railsサーバーの起動時にも同じエラーになりました)

$rails s

エラーメッセージ
自分のrubyのバージョンとGemfileのrubyのバージョンが違うと言われます。

Your Ruby version is 3.0.0, but your Gemfile specified 3.1.2

関連するソースコード

Gemfile.
source 'https://rubygems.org'
git_source(:github) { |repo| "https://github.com/#{repo}.git" }

ruby '3.1.2'

gem 'bootsnap', require: false
gem 'pg', '~> 1.1'
gem 'puma', '~> 5.0'
gem 'rack-cors'
gem 'rails', '~> 7.0.3', '>= 7.0.3.1'
gem 'rails-i18n'
gem 'silencer'
gem 'tzinfo-data', platforms: %i[mingw mswin x64_mingw jruby]

group :development, :test do
  gem 'bullet'
  gem 'debug', platforms: %i[mri mingw x64_mingw]
  gem 'factory_bot_rails'
  gem 'faker'
  gem 'gimei'
  gem 'rspec-rails'
end

group :development do
  gem 'rubocop', require: false
  gem 'rubocop-performance', require: false
  gem 'rubocop-rails', require: false
  gem 'rubocop-rspec', require: false
end

group :test do
  gem 'committee-rails'
  gem 'shoulda-matchers'
  gem 'simplecov'
end
Gemfile.lock
GEM
  remote: https://rubygems.org/
  specs:
    actioncable (7.0.3.1)
      actionpack (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
    actionmailbox (7.0.3.1)
      actionpack (= 7.0.3.1)
      activejob (= 7.0.3.1)
      activerecord (= 7.0.3.1)
      activestorage (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      mail (>= 2.7.1)
      net-imap
      net-pop
      net-smtp
    actionmailer (7.0.3.1)
      actionpack (= 7.0.3.1)
      actionview (= 7.0.3.1)
      activejob (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      mail (~> 2.5, >= 2.5.4)
      net-imap
      net-pop
      net-smtp
      rails-dom-testing (~> 2.0)
    actionpack (7.0.3.1)
      actionview (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      rack (~> 2.0, >= 2.2.0)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.0, >= 1.2.0)
    actiontext (7.0.3.1)
      actionpack (= 7.0.3.1)
      activerecord (= 7.0.3.1)
      activestorage (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      globalid (>= 0.6.0)
      nokogiri (>= 1.8.5)
    actionview (7.0.3.1)
      activesupport (= 7.0.3.1)
      builder (~> 3.1)
      erubi (~> 1.4)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.1, >= 1.2.0)
    activejob (7.0.3.1)
      activesupport (= 7.0.3.1)
      globalid (>= 0.3.6)
    activemodel (7.0.3.1)
      activesupport (= 7.0.3.1)
    activerecord (7.0.3.1)
      activemodel (= 7.0.3.1)
      activesupport (= 7.0.3.1)
    activestorage (7.0.3.1)
      actionpack (= 7.0.3.1)
      activejob (= 7.0.3.1)
      activerecord (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      marcel (~> 1.0)
      mini_mime (>= 1.1.0)
    activesupport (7.0.3.1)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      tzinfo (~> 2.0)
    ast (2.4.2)
    bootsnap (1.13.0)
      msgpack (~> 1.2)
    builder (3.2.4)
    bullet (7.0.3)
      activesupport (>= 3.0.0)
      uniform_notifier (~> 1.11)
    committee (4.4.0)
      json_schema (~> 0.14, >= 0.14.3)
      openapi_parser (>= 0.11.1, < 1.0)
      rack (>= 1.5)
    committee-rails (0.6.1)
      actionpack
      activesupport
      committee (>= 4.4.0)
      railties
    concurrent-ruby (1.1.10)
    crass (1.0.6)
    debug (1.6.2)
      irb (>= 1.3.6)
      reline (>= 0.3.1)
    diff-lcs (1.5.0)
    digest (3.1.0)
    docile (1.4.0)
    erubi (1.11.0)
    factory_bot (6.2.1)
      activesupport (>= 5.0.0)
    factory_bot_rails (6.2.0)
      factory_bot (~> 6.2.0)
      railties (>= 5.0.0)
    faker (2.22.0)
      i18n (>= 1.8.11, < 2)
    gimei (1.1.0)
      romaji
    globalid (1.0.0)
      activesupport (>= 5.0)
    i18n (1.12.0)
      concurrent-ruby (~> 1.0)
    io-console (0.5.11)
    irb (1.4.1)
      reline (>= 0.3.0)
    json (2.6.2)
    json_schema (0.21.0)
    loofah (2.18.0)
      crass (~> 1.0.2)
      nokogiri (>= 1.5.9)
    mail (2.7.1)
      mini_mime (>= 0.1.1)
    marcel (1.0.2)
    method_source (1.0.0)
    mini_mime (1.1.2)
    minitest (5.16.3)
    msgpack (1.5.6)
    net-imap (0.2.3)
      digest
      net-protocol
      strscan
    net-pop (0.1.1)
      digest
      net-protocol
      timeout
    net-protocol (0.1.3)
      timeout
    net-smtp (0.3.1)
      digest
      net-protocol
      timeout
    nio4r (2.5.8)
    nokogiri (1.13.8-x86_64-darwin)
      racc (~> 1.4)
    nokogiri (1.13.8-x86_64-linux)
      racc (~> 1.4)
    openapi_parser (0.15.0)
    parallel (1.22.1)
    parser (3.1.2.1)
      ast (~> 2.4.1)
    pg (1.4.3)
    puma (5.6.5)
      nio4r (~> 2.0)
    racc (1.6.0)
    rack (2.2.4)
    rack-cors (1.1.1)
      rack (>= 2.0.0)
    rack-test (2.0.2)
      rack (>= 1.3)
    rails (7.0.3.1)
      actioncable (= 7.0.3.1)
      actionmailbox (= 7.0.3.1)
      actionmailer (= 7.0.3.1)
      actionpack (= 7.0.3.1)
      actiontext (= 7.0.3.1)
      actionview (= 7.0.3.1)
      activejob (= 7.0.3.1)
      activemodel (= 7.0.3.1)
      activerecord (= 7.0.3.1)
      activestorage (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      bundler (>= 1.15.0)
      railties (= 7.0.3.1)
    rails-dom-testing (2.0.3)
      activesupport (>= 4.2.0)
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.4.3)
      loofah (~> 2.3)
    rails-i18n (7.0.5)
      i18n (>= 0.7, < 2)
      railties (>= 6.0.0, < 8)
    railties (7.0.3.1)
      actionpack (= 7.0.3.1)
      activesupport (= 7.0.3.1)
      method_source
      rake (>= 12.2)
      thor (~> 1.0)
      zeitwerk (~> 2.5)
    rainbow (3.1.1)
    rake (13.0.6)
    regexp_parser (2.5.0)
    reline (0.3.1)
      io-console (~> 0.5)
    rexml (3.2.5)
    romaji (0.2.4)
      rake (>= 0.8.0)
    rspec-core (3.11.0)
      rspec-support (~> 3.11.0)
    rspec-expectations (3.11.0)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.11.0)
    rspec-mocks (3.11.1)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.11.0)
    rspec-rails (5.1.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      railties (>= 5.2)
      rspec-core (~> 3.10)
      rspec-expectations (~> 3.10)
      rspec-mocks (~> 3.10)
      rspec-support (~> 3.10)
    rspec-support (3.11.0)
    rubocop (1.35.1)
      json (~> 2.3)
      parallel (~> 1.10)
      parser (>= 3.1.2.1)
      rainbow (>= 2.2.2, < 4.0)
      regexp_parser (>= 1.8, < 3.0)
      rexml (>= 3.2.5, < 4.0)
      rubocop-ast (>= 1.20.1, < 2.0)
      ruby-progressbar (~> 1.7)
      unicode-display_width (>= 1.4.0, < 3.0)
    rubocop-ast (1.21.0)
      parser (>= 3.1.1.0)
    rubocop-performance (1.14.3)
      rubocop (>= 1.7.0, < 2.0)
      rubocop-ast (>= 0.4.0)
    rubocop-rails (2.15.2)
      activesupport (>= 4.2.0)
      rack (>= 1.1)
      rubocop (>= 1.7.0, < 2.0)
    rubocop-rspec (2.12.1)
      rubocop (~> 1.31)
    ruby-progressbar (1.11.0)
    shoulda-matchers (5.1.0)
      activesupport (>= 5.2.0)
    silencer (2.0.0)
    simplecov (0.21.2)
      docile (~> 1.1)
      simplecov-html (~> 0.11)
      simplecov_json_formatter (~> 0.1)
    simplecov-html (0.12.3)
    simplecov_json_formatter (0.1.4)
    strscan (3.0.4)
    thor (1.2.1)
    timeout (0.3.0)
    tzinfo (2.0.5)
      concurrent-ruby (~> 1.0)
    unicode-display_width (2.2.0)
    uniform_notifier (1.16.0)
    websocket-driver (0.7.5)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    zeitwerk (2.6.0)

PLATFORMS
  x86_64-darwin-21
  x86_64-linux-musl

DEPENDENCIES
  bootsnap
  bullet
  committee-rails
  debug
  factory_bot_rails
  faker
  gimei
  pg (~> 1.1)
  puma (~> 5.0)
  rack-cors
  rails (~> 7.0.3, >= 7.0.3.1)
  rails-i18n
  rspec-rails
  rubocop
  rubocop-performance
  rubocop-rails
  rubocop-rspec
  shoulda-matchers
  silencer
  simplecov
  tzinfo-data

RUBY VERSION
   ruby 3.1.2p20

BUNDLED WITH
   2.3.20

自分で試したこと

・rbenvでバージョンの指定

$rbenv versions             
  system
* 3.1.1 (set by /Users/kyohei.yoshida/homeCareNavi_3rd_API/.ruby-version)
  3.1.2
$rbenv local 3.1.2
$rbenv versions             
  system
  3.1.1
* 3.1.2 (set by /Users/kyohei.yoshida/homeCareNavi_3rd_API/.ruby-version)

$ruby -v
ruby 3.0.0p0 (2020-12-25 revision 95aff21468) [arm64-darwin21]

以上のように、rbenvでバージョン指定しても、変更前と同じ結果になります。

M1Macを使用しているのですが、下記の記事のようにRosseta上なのかARMアーキテクチャ上かの違いでも代わってくるのでしょうか?
https://zenn.dev/osuzuki/articles/a535b2840bbea3

0

1Answer

Rubyやgemは詳しくは分からないのですが、
M1 macですが、同じコマンドでRuby3.1.2に切り替わりました。特にRosettaのはやってません。
この記事の https://qiita.com/akatsuki174/items/c0384b9903b4b5cbbdaf
which rubyとかはどんな感じでしょうか?解決策をやってみるのはいかがでしょう?

私は、.zshrcに

[[ -d ~/.rbenv ]] && \
export PATH=${HOME}/.rbenv/bin:${PATH} && \
eval "$(rbenv init -)"

を設定しています。
前にhttps://qiita.com/nishina555/items/63ebd4a508a09c481150 が出たので

1Like

Comments

  1. @k12da

    Questioner

    Pathの設定がちゃんとできてませんでした。
    source ~/.bash_profileで解決しました。

    ありがとうございます!

Your answer might help someone💌