調べるブログ

Apple製品、IT技術、仮想通貨やマイニングなど自分が調べた様々なことをノウハウとして記事にしています。

Rubyの学習環境を構築した時のメモ(CentOS7使用)

当ブログへのご来訪、誠にありがとうございます。



初めに

日本発のプログラミング言語「Ruby」に興味を持った。

過去、Rubyを勉強目的でローカル環境で使用した時はあり、その時に参考にした書籍がこちら。

プログラミング言語 Ruby

プログラミング言語 Ruby

  • 作者: まつもとゆきひろ,David Flanagan,卜部昌平(監訳),長尾高弘
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2009/01/26
  • メディア: 大型本
  • 購入: 21人 クリック: 356回
  • この商品を含むブログ (129件) を見る
 

 

しかし、あれからRubyのバージョンも進み、Webアプリケーションフレームワークなるものに興味を持ったので、あらためて勉強し直すことにした。(要するにRuby on Railsを学びたい)

 

Railsを深く学ぶ前にRubyを覚え直す目的で、参考書籍として「プロを目指す人のためのRuby入門 言語仕様からテスト駆動開発・デバッグ技法まで (Software Design plusシリーズ)」を購入した。 

 

一応、Rubyの勉強はProgateである程度はやっておいた。

Progate | プログラミングの入門なら基礎から学べるProgate[プロゲート]

RailsもProgateで勉強中である。じつはProgateの講座をやってみてWebアプリケーションフレームワークに感動したのがRubyを学び直そうと思ったきっかけだった。

 

学習教材

LinuCの学習教材にCentOS7とPostgreSQLが指定されていて、今後何かと参照しそうなので後々のためにメモ。

 

Linux標準教科書の入手先

https://linuc.org/textbooks/linux/

CentOSインストールイメージの入手先

CentOS Mirror

 

Linuxのインストール

上記のISOイメージファイルをダウンロードしてVMwarePlayerを使用して仮想環境にインストールする。

インストール時に指定があるが、Linuc教材指定の「ワークステーション」を選択する。画面右側のチェックは教材の指定どおり何もチェックしなかった。

 

ネットワーク設定

f:id:Loxley:20180818221528p:plain

CentOS7を「ワークステーション」でインストールした際はyumも使えない状態になっているのでネットワークの設定が必要。

 

viで以下のファイルを編集し保存する。

# vi /etc/sysconfig/network-scripts/ifcfg-xxxx

 

IPV6INIT=no

ONBOOT=yes

DNS1=8.8.8.8

DNS2=8.8.4.4

 

viで編集を終えたらサービスをリスタートする。

#service network restart

 

/etc/resolv.confは上記のコマンド実行時に上書きされるようだが念の為、確認しておく。

#vi /etc/resolv.conf

 

nameserver にGoogle DNS(8.8.8.8と8.8.4.4)が指定されていればOK。

 

上記の設定で問題なければyumが利用可能になっている。

yumコマンドでミラーサイトを変えたい時は

/etc/yum.repos.d/CentOS-Baserepo

を変更する。

 

インストール済のRubyは古いバージョンだったのでバージョンアップしたい

CentOS7には初期状態からRubyがインストールされているが、バージョンが古い。

# ruby -v

を実行すると ruby 2.0.0p648 ( 2015-12-16 ) だった。

Rubyの学習書の指定ではRuby 2.4とあったのでバージョンアップする必要がある。

 

こんな時、Progateなどの始めから環境が整っている学習サイトは便利だ。RubyとRailsだけを学ぶつもりならそっちのほうが手っ取り早い。しかし自分でWebサイトを公開してサービスやWebアプリケーションを利用してもらうつもりなら環境構築から理解しておく必要がある。

というわけで筆者はRubyをバージョンアップして使えるようにしたいと思って実行した。

手順は下記のページ(Qiita)を参考にした。 

qiita.com

 

が、Build Failedとなる。どうやら先にインストール済のRubyの削除が必要のようだ。

qiita.com

 

古いRubyを削除し、2.4.1をインストールしようとするがfailedが発生する。Cコンパイラが必要だ。

# yum install gcc

でgccをインストール後、再度

# rbenv install 2.4.1

を実行する。

あとは上記に記載した「CentOS 7.3にRuby 2.4.1をインストールする」 の手順でRuby 2.4.1環境を構築できた。

※今後、Ruby実行環境をバージョンアップする際に見直すことになりそうなので失敗例も残しておくことにした。

 

ここまでのRubyインストールまとめ

f:id:Loxley:20180818221554p:plain

CentOSは初期状態でRuby実行環境がインストールされている。しかしバージョンが古い。このままだと書籍推奨の環境ではないのでいろいろと挙動の違いで面倒なことになりそうだ。

 

1.Rubyを削除

既にインストールされているRubyはバージョンが古いので削除する。

# yum remove ruby

参考(ruby 2.3.1をCentOS7に導入する。

 

2.Rubyインストールに必要なソフトウェアをインストールする

あらためて新しいRubyのバージョンをインストールするが(gccなど)必要なものが初期状態だとインストールされていないので別途インストールする。

# yum install gcc

 

3.新しいバージョンのRubyをインストールする

必要とするRubyをインストールし、環境を構築する。

参考(CentOS 7.3にRuby 2.4.1をインストールする

 

となる。

 

初学者がハマること

環境の構築失敗は特に初学者がハマりやすい。前述したが単にプログラミング言語を学ぶことが目的ならProgateやPaizaラーニングなどの学習サイトを利用したほうが手っ取り早い。しかし環境から構築をやりたいとなると、学習サイトでの言語学習だけでは不足なので自分でOSインストール~実行環境の構築が必要となる。

入門書等を見るとたいていの初学者はこの環境構築であきらめてしまうケースが多いようだ。プログラミング言語は先に学習サイトで進めておいて、手元に学習環境を構築したい場合に環境構築に手を出す、といった流れのほうがよさそうだ。

 

さて、ここまで苦労して進捗としてはローカルのRuby学習環境ができただけ。ここからがスタート地点となる。


  • 当ブログは、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。
  • 当ブログ記事の2ch系まとめサイトへの無断転載を禁じます。
  • 投稿した記事内容は私的なものであり、所属する組織・団体に関連性はありません。
  • 投資にはリスクが伴います。利益を得る反面、損失もありえます。投資活動は自己責任で。

(C)LOXLEY-TIPS