こんにちは。Ruby勉強中のプログラミング初心者です
今までずっとWindows使ってたけど、ネットで調べてみると、どうやらWindowsはあまりプログラミングには推奨されないOSらしい
以前からLinuxに興味があったし、それならUbuntuの導入やるか~ということでやりました
以下、備忘録です
OSがWindows10だったので、WSLを使って簡単にUbuntuを導入することができました
やり方はググれば親切な記事がいっぱい出てきます
ありがとうございます
UbuntuターミナルのフォントをCica(最強にして最愛のフォント)に変え、背景は紺色、文字色はクリーム色っぽい感じに
見やすく目にやさしい最高
Rubyを入れるためにまずはgit
とrbenv
(名前が覚えにくい)とruby-build
を入れる必要があります
git
は言わずと知れたスゴイ奴です
これを使いこなせるとカッコイイ。クローンしたりコミットしたりできる。スゴイ
rbenv
はRubyのバージョンを管理してくれるイカした奴で、好きなバージョンのRubyをインストールしたり、プロジェクトごとにRubyのバージョンを変えたりすることができます
ruby-build
はrbenv
のプラグインで、Rubyのインストールを簡単にコイツのおかげでRubyのインストールを簡単にできるらしい
まずはgit
を入れます
Ubuntuのターミナルに
$ sudo apt install git
と打ち込んでEnter
Ubuntu
のセットアップ時に設定したパスワードの入力を求められます
ちなみにsudo
というのは「他のユーザ権限で実行」を表すらしい
何のためにあるのかは謎です
apt
はパッケージ管理用コマンドで、CentOS
におけるyum
らしい
何のためにあるのかは謎です
git
が入ったらrbenv
を入れます
$ git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
ここでgit
が出てきます。インストールではなく、リモートリポジトリからローカルにクローンしているんですね。仕組みはよくわからないけど面白いです
$ rbenv --version
と叩いて無事にバージョンが出てくればOK
私の環境ではrbenv 1.1.1-39-g59785f6
と表示されました
ruby-build
を入れます
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
あとはrbenv
を使ってRubyを入れていきます
$ rbenv install --list
install --list
コマンドでインストール可能なRubyのバージョンがいっぱい表示されます。好きなものをインストールしましょう
名著『プロを目指す人のためのRuby入門』(通称チェリー本)では2.4.1
が使われています
私は今まで2.4.1
を使っていたの今回は2.5.3
を入れてみました
ここまでは簡単です。こっからがすごく大変でした
Rubyをインストールするためにコマンドを叩きます
$ rbenv install 2.5.3
不穏な空気と共に文字が流れていき、やっぱり出てきたerror
の5文字
Last 10 log lines:
checking for ruby... false
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for gcc... no
checking for cc... no
checking for cl.exe... no
configure: error: in `/tmp/ruby-build.20190113131329.644/ruby-2.5.3':
configure: error: no acceptable C compiler found in $PATH
See `config.log' for more details
エラーが出るとつらいですが、じっくり目を通して何がダメだったのかを読み解いていきましょう
私のように大量の英文を見ると蕁麻疹が出るという人は、エラーメッセージをそのままクエリとしてgoogle様に投げてみるのもいいでしょう
上記のエラーメッセージのno acceptable C compiler
に注目し、よくわからんけどCコンパイラが必要なんだな、ということでgcc
というものをインストールしました。
$ sudo apt install gcc
openssl
というものが必要な場合もあるらしいですが、私の場合は既に最新バージョンだったためスルー
「Cコンパイラ? 入れたし大丈夫やろ!」と意気揚々と$ rbenv install 2.5.3
を再び叩きます。するとまたエラーが出て落ち込みます
checking if make is GNU make... ./configure: line 27342: make: command not found
no
checking for safe null command for make
make
なるものを入れる必要があるらしい。何に使うのかはわからないけど、エラーメッセージがそう言ってるんだから、エラーメッセージを信じよう。エラーメッセージちゃんと読むのほんと大事
$ sudo apt install make
三度目の正直とばかりにRubyインストールコマンドを叩きますが、またもエラーが出ました。しかし今回はなんだか毛色が違います
Try running `apt-get install -y libssl-dev libreadline-dev zlib1g-dev` to fetch missing dependencies.
エラーメッセージ様が__「Youはこれをインストールすればイイんじゃない?」__と提案してくれています。感謝……!! 圧倒的感謝……!!!
$ sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev
そしてもう何度打ち込んだかわからないインストールコマンドをもう一度叩きましょう
Installed ruby-2.5.3
と出てきました
バージョンを確認して、実際にインストールされたか確かめてみましょう
$ rbenv versions
2.5.3
花京院! イギー! アブドゥル! 終わったよ……
しかし戦いはまだ終わっていなかった
g e m が 使 え な い
$ gem install bundler
rbenv: ruby: command not found
The `ruby' command exists in these Ruby versions:
2.5.3
何を言ってるのかわからねーと思うが俺も何をされたのかわからなかった
色々と試した結果
$ rbenv global 2.5.3
このようにrbenv global
コマンドを使い、使用するRubyのバージョンを固定するという段階を経てgemコマンドがちゃんと動作するようになった
$ gem install bundler
(中略)
Successfully installed bundler-2.0.1
無事にrailsを入れることにも成功。これでなんとかやって行けそう
以上、全身がマサカリだらけになりそうな内容ではありますが備忘録でした
01/27 追記
rbenv
で別バージョンのRubyをインストールしようとすると、BUILD FAILED
のようなエラーが出ることがありました。これはどうやらインストールしようとしているRubyのバージョンが古いために起こるようです。これでしばらく悩まされました