新米パパの育児留学

新米パパの育児留学

『育児留学』とは、育児を通して異なる視点を得たり新しいことに挑戦して自己成長に繋げること。育児奮闘中の新米パパが育児を通して得た気づきや感じたこと、育休中に習得したプログラミングに関する話題を発信していきます。

cloud9でrailsサーバーが起動できない "warning: constant ::Bignum is deprecated"

今回はcloud9でrailsの環境構築をする際につまった、「cloud9でrailsサーバーが起動できない "warning: constant ::Bignum is deprecated"」について紹介します。

f:id:mochikichi321:20171007113801j:plain

環境

・Cloud9

Windows 10

 

現象

cloud9で新規プロジェクトを立ち上げ、rails 4.2.6をインストール。

新規アプリを作成し、いつものようにserverを起動するために以下を入力。 

$ rails server -b $IP -p $PORT 

 

すると、

 /usr/local/rvm/gems/ruby-2.4.0/gems/activesupport-4.2.6/lib/active_support/core_ext/numeric/conversions.rb:121: warning: constant ::Bignum is deprecated
(省略)

が表示されてrails serverがうまく起動されない。

 

なぜだ?

 

解決策

 現状のルビーのバージョンを確認。

$ ruby -v
ruby-2.4.0

 

rubyの旧バージョンをインストールしたい。

 

RVMでインストール可能なrubyを確認。

$ rvm list known
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
(中略)
[ruby-]2.3[.3]
[ruby-]2.4[.0]

 

ruby 2.3.3をインストールする。

$ rvm install 2.3.3

 

再度現状のルビーのバージョンを確認。

$ ruby -v
ruby-2.3.3

 

rubyのバージョン変更に成功。

 

あとはいつもどおりサーバーを起動すると問題なく起動できた。 

 

原因

rails 4.2.6に対し、対応していないrubyのバージョン(2.4.0)を使用していたから。

これは以前にrails5.0系で開発(Ruby on Rails Tutorial)をしたことがあり、その際にrubyのバージョンも上げていたのですがそれがそのまま残ってしまっていたことが原因と思われる。 

ローカル開発ではなく、クラウド開発なのでrubyの環境設定が引き継がれていないと思い込んでいた。

 

教訓

・クラウド(cloud9)開発でも開発環境設定は都度確認が必要である。