Ruby on Railsの勉強がてら手元のMacにrbenv使いながら環境インストールしたら表題のエラーに悩まされたのでメモ
参考にさせて頂いた環境導入手順
rbenvなどを使って個別環境を作ってみる。
発生したエラー
gemインストールしてrailsアプリ作って、さてrailsのインストール確認するかとなった時に以下のエラーが発生。
$ rails -v
Traceback (most recent call last):
15: from bin/rails:3:in `<main>'
¦
(中略)
¦
1: from /(rbenv入れたパス)/.rbenv/versions/2.7.4/lib/ruby/2.7.0/rubygems.rb:254:in `bin_path'
/(rbenv入れたパス)/.rbenv/versions/2.7.4/lib/ruby/2.7.0/rubygems.rb:277:in `find_spec_for_exe': Could not find 'bundler' (2.2.26) required by your /(実行パス)/Gemfile.lock. (Gem::GemNotFoundException)
To update to the latest version installed on your system, run `bundle update --bundler`.
To install the missing version, run `gem install bundler:2.2.26`
-
bundle update --bundler
しても、gem install bundler:2.2.26
しても状況変わらず - こちらのページ の手順を参考にさせてもらったものの状況変わらず。
解決手段
rails
ではなく bundle exec rails
を使う
$ bundle exec rails -v
Rails 5.2.6
ちゃんと動いた。
補足
Bundlerの動作をちゃんとわかってなかったのが原因。
もっというと、どうやら実行パスに bundler/setup
が存在してなかったことが直接の原因だったっぽい。
インストールの際にどっかでコケてたのかな…?
(勉強させていただいたページ)
bundle execって必要なの?
bundler、bundle execについて ※自分用メモ
bundle exec と bin/rails の違い
以上。