Edited at

【メモ】Cloud9にてHeroku用にRubyのバージョンを切り替えた際の注意点(2016年2月)

More than 3 years have passed since last update.


注意

下記の方法でいったんは解決?したように見えたのですが、後日またCloud9を開いたら、結局「Run Project」からはサーバー起動できなくなりました。(Ruby versionは2.2.4、rvmの警告文はでない)


よってあくまで参考程度にしていただければと思います。


(やっぱりRunnerをカスタマイズしないといけないのかな・・・)


以前このような記事を書いたのですが

【メモ】Cloud9からHerokuにRailsプロジェクトをデプロイする際の注意点(2015年10月)

今回別のプロジェクトを作った際にまた問題が起こりました。


Herokuが対応しているバージョンが2.2.4になったようなので、前回と同じように2.2.4に切り替えることにしました。


(まだ入れていなければ)rvmで2.2.4のインストール

rvm install 2.2.4

gem install bundler
bundle install # or bundle install --without production
# 今回はrvm --default use 2.2.4は行わない


GemfileにRuby versionを記述

source 'https://rubygems.org'

ruby '2.2.4'


.bashrcに記述

$ cd ~

$ pwd
/home/ubuntu
$ vi .bashrc

.bashrcの一番最後に

rvm use 2.2.4と追記します。


これで新しいターミナルを開いた時でも、2.2.4になってくれるようにしました。

だがしかし


Run Projectを押すと問題が起こる

Cloud9のIDE上部の「Run Project」ボタンを押すと

Your Ruby version is 2.3.0, but your Gemfile specified 2.2.4


とのエラーメッセージが出て、サーバー起動しません。ターミナルとcloud9のRunnerが連動しないようです。


コマンドラインから打つの面倒なのでなんとかしたいのですが、そのためにはRunnerをカスタマイズしなければいけないようで、もうわけわからんw


原因はrvm rvmrc warning ignore /home/ubuntu/workspace/Gemfile?

Ruby versionを2.2.4にした時から、このような警告がでるようになりました。

RVM used your Gemfile for selecting Ruby, it is all fine - Heroku does that too,

you can ignore these warnings with 'rvm rvmrc warning ignore /home/ubuntu/workspace/Gemfile'.
To ignore the warning for all files run 'rvm rvmrc warning ignore allGemfiles'.

前回は出ていたかどうか覚えていませんが、毎回目にするのもうざいので、rvm rvmrc warning ignore /home/ubuntu/workspace/Gemfileをやってしまったんですな・・・。


結論:rvm rvmrc warning ignore /home/ubuntu/workspace/Gemfileをしない。

どーにもならないので、いったんプロジェクトを破棄し、新規作成する際にBitbucketからクローンしてくることにしました(作っておいてよかった)


そしてまた上記の作業をし、最後にrvm rvmrc warning ignore /home/ubuntu/workspace/Gemfile行わない・・・と、無事にRun Projectボタンからサーバー起動させることができました。


毎回警告文が出ますが、目に入っても脳には入らないくらいに慣れるしかありません。


結局どうなっているのかというと

$ rvm list

rvm rubies

ruby-1.9.3-p551 [ x86_64 ]
ruby-2.1.5 [ x86_64 ]
=> ruby-2.2.4 [ x86_64 ]
* ruby-2.3.0 [ x86_64 ]

# => - current
# =* - current && default
# * - default

前回とは少し違い、default2.3.0だがcurrent2.2.4というふうになっております。