新米パパの育児留学

未経験からエンジニアへの転職体験談など "リアル" な情報を発信

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

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

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

Twitterで話題のオンラインプログラミング学習”ウェブカツ!!”

環境

・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のバージョンを確認。

$ 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)開発でも開発環境設定は都度確認が必要である。 

Twitterで話題のオンラインプログラミング学習”ウェブカツ!!”

 あわせて読みたい記事