質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Q&A

解決済

1回答

2224閲覧

【macOS】Your Ruby version is 2.3.7, but your Gemfile specified 2.3.0

ayachika

総合スコア36

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

0グッド

1クリップ

投稿2019/08/01 22:43

編集2019/08/03 03:55

初めてmacを購入し、環境構築をするために該当プロジェクトに記載の通り、必要なソフトウェアのインストールをしました。

homebrewのインストール後、brewを使用し、以下の通り必要な物をインストールしました。

$ brew install mysql $ brew install git $ brew install rbenv $ brew install ruby-build $ brew install graphviz(これも一応)

さらに今回使用したいバージョンのRubyをインストールしました。

$ rbenv install 2.3.0

##エラー内容

はじめ、参照するrubyのPATHが違っていて、macにデフォルトで入っているruby2.3.7を参照していたので、それに対する対処をし、以下のようにrubyのPATHの設定も完了しました。

$ which ruby /Users/user/.rbenv/shims/ruby usernoMacBook-Air:project user$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin18]

しかし、bunsle installをしようとすると、いまだにこのエラーが出ます。

$ bundle install --path vendor/bundle Your Ruby version is 2.3.7, but your Gemfile specified 2.3.0

おそらくbundleのPATH設定がおかしいのかなと思うのですが、対処の方法がわかりません。
bundleは以下のようになっています。

$ which bundle /usr/local/bin/bundle PATHを確認してみると $ echo $PATH /Users/user/.rbenv/shims:/Users/user/.rbenv/bin:/Users/user/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/user/.rbenv/shims:/Users/user/.rbenv/bin

さらに以下の通りみてみると、まだruby2.3.0ではなくデフォルトのシステムの方のrubyを参照していることがわかります。

$ bundle env ## Environment Bundler 2.0.2 Platforms ruby, universal-darwin-18 Ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]

これはなぜなのでしょうか。
対策をとったはずなのですが、参照するPATHが違うようで、原因がわかりません。

ちなみに参考にしたサイトは以下3つです。

rbenvでバージョンがうまく切り替わらなかった時にやったこと
【2018年版】macにrbenvを入れてrubyを管理できるようにしちゃう
rbenv+ruby-buildを使ってMacにRubyの環境を構築する

解決策をご存知の方がいらっしゃれば、ご教示下さいますようよろしくお願いします。

##追記
asm様に解決方法を示していただき、解決することができました。
追記ですが、$ gem install bundler後、$rbenv rehashを実行する必要がありました。
bundlerをインストールしたら毎回このコマンドを実行しなければいけません。
なぜなら、このコマンドにより、gem,rake,rails,rubyなどのコマンドをrbenvに渡してくれるshimsという軽量実行ファイルをインストールしているからだそうです。(ここでは深く記述しません)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ruby 2.3だとbundlerはデフォルトでインストールされるgemではないので、自分でインストールが必要です。

gemコマンドが/Users/user/.rbenv/shims/rubyになってることを確認した後に
$ gem install bundler
を実行

rbenvでsystemに切り替えた後に$ gem uninstall bundlerしておいた方が今後のためかもしれません。

投稿2019/08/01 23:00

asm

総合スコア15147

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ayachika

2019/08/02 12:29 編集

asm様 ご回答ありがとうございます。遅くなりましたが、一つ質問があります。 $ gem environment を行うと、下の通り表示されたのですが、これでは/Users/user/.rbenv/shims/rubyではないですよね・・調べてみたのですが、正確なパスではないと思いまして・・その場合、パスを正確なものに設定する必要がありますか? 連続した質問で申し訳ありませんが、可能であれば教えていただけると幸いです。 - GEM PATHS: - /Users/user/.rbenv/versions/2.3.0/lib/ruby/gems/2.3.0 - /Users/user/.gem/ruby/2.3.0
asm

2019/08/02 19:49

おそらく大丈夫ですよ 「which gemの結果が~/.rbenv/shimsになってるか、確認してね」 くらいの意味だったので
ayachika

2019/08/02 23:37

asm 様 which gem の結果、パスはあっていました!まだ最後まで作業をしておりませんが、取り急ぎお礼申し上げます。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問