のんびりエンジニア

のんびりエンジニアリング

Bash on Ubuntu on Windowsでrubyを使う

せっかくWindowsbashが動くようになったのでその上でrubyが動くようにしてみました。 rbenvを使う方法と、apt-getでrubyruby-switch使う方法を試しました。

単純にapt-getするだけも良いんですが、一応複数バージョンを管理できるようにという前提です。

下準備

必要なライブラリをインストールする

$ apt-get update
$ sudo apt-get install -y git curl gcc make
$ sudo apt-get install -y libssl-dev libreadline-dev zlib1g-dev bzip2

apt-getsudo必要だったかな。すいません忘れちゃいました。

rbenvを使う方法

macを使っている人ならおなじみのrbenvを使う場合はrbenvのREADMEに則ってコマンドをたたいていきました。

$ cd ~/.rbenv && src/configure && make -C src
$ ~/.rbenv/bin/rbenv init
$ eval "$(rbenv init -)"

もし必要なコマンドが足りてなかったらapt-getでインストールしておけばいいと思います。

あとは.bashrcに以下を追加しました

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"

apt-get、ruby-switchを使う方法

これはJekyll on Bash on Ubuntu on Windows - daverupert.comを見て知った方法。

$ sudo apt-add-repository ppa:brightbox/ruby-ng
$ sudo apt update
$ sudo apt install ruby2.3 ruby2.3-dev ruby-switch

これでrubyが使えるように!

$ ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-linux-gnu]

ruby-switchというものがあるのは全然知らなかったんですが、さっと使えるしとても楽。 rbenvだとインストール方法の都合上ライブラリが足りないと落ちたりするけど、apt-getは依存するライブラリを入れてくれるからいいっすね。

どっちがおすすめ?

ここまでやってrubyが動くようになったんですが、実はこの後Railsをインストールして実行するところがとても面倒でどっちもおすすめとは言えない状況かなと思ってます。 bundle installがうまくいかず、一個一個のgemを手作業でインストールすることになってひたすら面倒だった。

とはいえどっちもrubyの実行には問題ないし、特にapt-getで入れちゃう方はシンプルだしとても楽でした。 インストールに時間はそれなりにかかったけど。

そもそもBash on Ubuntu on Windowsは多少クセがあるし知見もネットにたくさん転がっている訳でもないのでPowerShellとDocker for Windowsを駆使した方が環境を壊しにくいし楽なのではと思い始めてます。 今後はそっちの方法を試してみようかな。

Docker本も買ったので読んでます。

Docker

Docker

なにはともあれ簡単にbash立ち上げてなにか試したいくらいならBash on Ubuntu on Windowsは良さそうです

マシンはずっとMateBookを使ってます。