Rails
cloud9
トラブルシューティング

Cloud9 で bin/rails xxx が動かなくなったので

More than 1 year has passed since last update.

事の起こり

新しいターミナルを立てて何かしようとしたりすると下記のように言われはじめてあれれ?という感じになってしまった。スクリーンキャスト撮っている最中だったのに...

ubuntu@xxxx-yyyy-9999999:~/workspace$ bin/rails s -p $PORT -b $IP                          
/usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require': cannot load such file -- bundler (LoadError)
        from /usr/local/rvm/rubies/ruby-2.3.0/lib/ruby/2.3.0/rubygems/core_ext/kernel_require.rb:55:in `require'
        from /home/ubuntu/workspace/bin/spring:8:in `<top (required)>'
        from bin/rails:3:in `load'
        from bin/rails:3:in `<main>'

調査

同じような感じになっているスレッドを発見した。6日前くらいから起きているらしい。

https://community.c9.io/t/new-ruby-on-rails-projects-unrunnable/6809/14

検証

rvm周辺っぽいことは想像ついていたのだけどよくわからず。

ubuntu@xxxx-yyyy-9999999:~/workspace$ rvm list
Warning! PATH is not properly set up, $GEM_HOME is not set,
         usually this is caused by shell initialization files - check them for 'PATH=...' entries,
         it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
         to fix temporarily in this shell session run: 'rvm use ruby-2.3.0'.

rvm rubies

 * ruby-2.3.0 [ x86_64 ]

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

解決

どうやらcurrentに対応するバージョンの指定がないみたい。なので

rvm use ruby-2.3.0

を打ってみる。するとbin/rails cできた!

再発防止

上記を毎回やるのは面倒なので

echo "rvm use ruby-2.3.0" >> ~/.bashrc

してこちらではOK。