質問: ### 前提・実現したいこと herokuのアプリをcloud9にCloneして、githubレポジトリー経由で管理しようと、環境設定をしています。 cloud9でCloneしたアプリをPreviewしようとサーバー起動したのですが、下記メッセージが出てサーバーが起動しません。 Your Ruby version is 2.3.4, but your Gemfile specified 2.3.0 こちらやその他もググってみてみたものの、初心者の私にはわかる内容のものがありませんでした。 どのように対応すればよろしいでしょうか? また、本番環境ですでに動いているアプリがなぜ、Cloud9上ではRubyやGemのバージョンがひっかかって動かないのか?仮に、この問題が解決できてCloud9上でPreviewできたとして、これをPUSHして本番環境にあたった場合、動かなくなるなどの影響が出ないか?などを心配しております。 なにとぞ、ご指導のほどお願い申し上げます。
回答: > > Your Ruby version is 2.3.4, but your Gemfile specified 2.3.0 > > > 上記メッセージが「Rubyのバージョンは2.3.4ですが、Gemfileは2.3.0を指定しています(Google翻訳)」なので、Rubyのバージョンが異なることが原因であるということが分かります。 Gemfileが何か分からない場合ググればいろいろ情報が出てくるので、すぐわかります。 * Gemfileについて調べてみた - xxxcaqui.log 上記サイトの記述を引用すると、 ``` そもそもGemfileって? Bundler用の設定ファイル。 BundlerはGemfileの記述にしたがって、gemの依存関係を示したGemfile.lockを生成する。 ``` ``` じゃあ、Bundlerって何さ? アプリケーションで使用するgemのバージョン管理を行うプログラム。 「お前が書いたコード動かないんだけど?」 「ハァ? 俺の環境では動いてるし。バージョン違うんじゃねーの? 死ねよ」 ってならないためのツール。 ``` > > また、本番環境ですでに動いているアプリがなぜ、Cloud9上ではRubyやGemのバージョンがひっかかって動かないのか?仮に、この問題が解決できてCloud9上でPreviewできたとして、これをPUSHして本番環境にあたった場合、動かなくなるなどの影響が出ないか?などを心配しております。 > > > あなたが心配していることが起きないように、ツールがエラーを出しているのだということが理解できたことと思います。 以上の内容でどのような対処を行う必要があるのかもう分かっていると思いますが、念のために書いておくと、実行しようとしてエラーが出た環境にRuby2.3.0をインストールするのがやるべきことです。