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

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

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

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

Q&A

2回答

895閲覧

ruby がすごい矛盾しているんですけど助けてください。。

atage517

総合スコア36

Ruby

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

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

0グッド

0クリップ

投稿2020/06/30 13:46

編集2020/06/30 13:48
git push origin master

コマンドを実行すると以下のエラーが出ます。

Your Ruby version is 2.7.0, but your Gemfile specified 2.7.1

よって

vi gemfile.lock vi gemfile

のなかみを

ruby 2.7.1 → ruby '2.7.0'

に変更し、bundle installをすると以下のエラーが出ます。

Your Ruby version is 2.7.1, but your Gemfile specified 2.7.0

そしてこのままもう一度

git push origin master

を実行するとなぜか以下のエラーが出ます。

Your Ruby version is 2.7.0, but your Gemfile specified 2.7.1

もうよくわかりません助けてください。。

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

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

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

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

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

Daregada

2020/06/30 14:01

まずは「ruby --version」を実行して、実際のRubyのバージョンはいくつなのか調べ、われわれに示してください。
atage517

2020/06/30 14:04

ruby -v ruby 2.7.0p0 (2019-12-25 revision 647ee6f091) [x86_64-darwin17] です gemfileも gemfile.lockも2,7,0に変更してあります。 しかしなぜか your Gemfile specified 2.7.1 と出てしまいます
Daregada

2020/06/30 14:15

なんでgemfile.lockを直接書き換えてしまうのか。
atage517

2020/06/30 14:21

ダメなんですか?今回のエラーに関係あるんでしょうか
guest

回答2

0

2点 + 1点

  1. 「なんでgemfile.lockを直接書き換えてしまうのか。

ダメなんですか?今回のエラーに関係あるんでしょうか」
ですがだめです。Gemfileを直し、bundle install してください。

  1. git 実行して ruby のversionが顔を出すのはあまりにもおかしいです。

もしかして 生のgitが呼び出されていないのでhあ?という疑問。
which gitの結果をみせてください

  1. ruby versionが思い通りにならない件の解決には全貌をもう少し把握が必要です以下を載せてください
  1. cat .ruby-version の結果
  2. which ruby の結果
  3. which bundle の結果
  4. grep "ruby " Gemfile の結果
  5. echo $PATH の結果
  6. 「bundle はちゃんと入っています」と判断したのはなにをもってか、それを説明してください

他にも有りますが、それは1,2,3,4の結果によって内容が変わるかもなのでそれを頂いてから。

追記
その結果からすると「ruby2.7.1がインストールされていたとしても」そのRAILSの環境で実行すると2.7.0が起動します。一番初めの「Your Ruby version is 2.7.0, 」と矛盾しないですね。
grep "ruby " Gemfile の結果が ruby '2.7.0' ということはその時のメッセージとは食い違いますが、それは「vi gemfileのなかみをruby 2.7.1 → ruby '2.7.0'」したからですね?
気になるのは Gemfileではなくgemfileになっていること。ここは入力ミス?

ん?
ここまで書いて疑問が。
最初にgit push する直前ですが、RAILSきちんと動いてましたか?
Gemfileが 2.7.1を要求し、 .ruby-versionで2.7.0を使うことを指示している。RAILSが立ち上がらなかったのではと思うのですが。

投稿2020/06/30 22:22

編集2020/07/01 00:56
winterboum

総合スコア23567

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

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

asm

2020/06/30 22:29

クライアントサイドフック、サーバーサイドフック どちらかもしくは両方でしょうね よくあるのがheroku
atage517

2020/07/01 00:30 編集

ありがとうございます。上から順に結果をここに表示します。 which git /usr/bin/git cat .ruby-version 2.7.0 which ruby /Users/hoge/.rbenv/shims/ruby which bundle /Users/hoge/.rbenv/shims/bundle grep "ruby " Gemfile ruby '2.7.0' echo $PATH /Users/hoge/.rbenv/shims:/Users/hoge/.rbenv/bin:/Users/hoge/.rbenv/shims:/Users/hoge/.rbenv/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin bundle に関しては以下のコマンドを実行して確認しました。 gem list *** LOCAL GEMS *** benchmark (default: 0.1.0) bigdecimal (default: 2.0.0) bundle (0.0.1) bundler (2.1.4, default: 2.1.2)
atage517

2020/07/01 00:32

asmさん 実はlolipopを使いrailsを公開しようとしていて 正確には git push lolipop masterなので git push origin masterをlolipopに変えています。herokuは使っていません
atage517

2020/07/01 01:25

winterboumさん おっしゃる通り。vi gemfile ではなく vi Gemfileでした。そして中身を開いたら ruby '2,7,1'だったのでこれが原因か!と思い直しましたがまた同じエラーが出てきて何が原因なのかさっぱりわかりません。 Your Ruby version is 2.7.0, but your Gemfile specified 2.7.1 はい。rails s でサーバーを起動して localhost://3000でも自分のrailsのアプリの画面を見ることができています
atage517

2020/07/01 01:32

そういえば bundle install した時にこのエラーが出てきたんですがこれが関係しているんでしょうか The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`. bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java を実行したら以下のエラーも出ます。 Fetching gem metadata from https://rubygems.org/............ Writing lockfile to /Users/kaito/kaito_sample/Gemfile.lock Cannot write a changed lockfile while frozen.
winterboum

2020/07/01 02:24

今の状態で、RAILS立ち上がりますか?
atage517

2020/07/01 02:55

rails のサーバーは立ち上がります。 しかし、自分のrailsアプリを git push origin masterすると上のようなエラーが出ています。 自分でも調べていますが原因が全くわかりません。
guest

0

bundlerが適切にインストールされていないのではないでしょうか?

参考:http://ztbuz.hateblo.jp/entry/2013/12/14/193235

検索キーワード:Your Ruby version is 2.7.0, but your Gemfile specified 2.7.1

投稿2020/06/30 14:11

no1knows

総合スコア3365

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

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

atage517

2020/06/30 14:15

ありがとうございます。 そのサイトも参考にしたんですけどね。 bundle はちゃんと入っています。そして bundle installは問題なく実行できますが。 git push origin master を実行した時にエラーが表示されます
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問