Rubyの環境構築について (JP_Stripes X 岡山Ruby, Ruby on Rails勉強会)
自己紹介
小西 雅也
https://gyazo.com/2e622d1021337a662bf019bf7bc08eb2 @ore_public
株式会社オーディオストック
インフラ寄り
好きなメソッド: inject
趣味: OSの再インストール
最近 Linux用PCが欲しい
余談
https://scrapbox.io/files/636e969bc6c669001d812dec.png
プログラマー募集してます
音楽ECサイト
Ruby on Rails
Rubyを始める
始めるには動かす環境が必要
Rubyは環境構築が面倒
各OSでの構築の方法を紹介します
Linux(Ubuntu)
パッケージ
$ sudo snap install ruby --classic
3.1.2最新がインストール出来る
これから勉強を始める、ちょっと使ってみるとかはこれが楽で良さそう
ちなみにターミナルでrubyコマンドを入れると以下のようにサジェストしてくれる(すごい)
https://scrapbox.io/files/63693fcc093354001d593e85.png
パッケージ2
$ sudo apt install ruby
2.7系が入る
Docker
Docker Desktop for Linuxが使える
Ubuntu, Debian, Fedoraがサポート
Ubuntu 21.10以降
Docker Engine
$ sudo docker run -it --rm --name my-running-script -v "$PWD":/usr/src/myapp -w /usr/src/myapp ruby:3.1 ruby test.rb
Dockerを動くように環境構築する必要がある
Rubyが動く環境は公式イメージがあるので作らなくていい
rbenv
任意のバージョンをインストール可能
インストールしたバージョンを切り替えて実行可能
apt等でもinstall可能だが、バージョンが古いのでgithubからインストールした方がいい
↑と公式に書いてある
$ echo 'eval "$(~/.rbenv/bin/rbenv init - bash)"' >> ~/.bashrc
Ubuntuはこれ
ruby-build pluginも入れましょう
$ rbenv install 3.1.2
https://scrapbox.io/files/636e6706dffed50023cbca9d.png
$ rbenv versions
https://scrapbox.io/files/636e69cfb67e88001f4e7f0e.png
$ rbenv global 3.1.2
デフォルトで仕様されるバージョンの変更
$ rbenv use 3.1.2
コマンドを実行したディレクトリで使われるバージョンを指定
プロジェクト毎に切り替えるときなどに使用
ディレクトリに .ruby-version というファイルが作成される
$ rbenv shell 3.1.2
一時的にバージョン指定
ターミナルを閉じるなどすると消える
Linux(Fedora 32)
パッケージ
$ sudo dnf install ruby
2.7系が入る
パッケージ2
Fedoraでもsnapが使用可能です
$ sudo dnf install snapd
$ sudo ln -s /var/lib/snapd/snap /snap
$ sudo sunap install ruby --classic
こっちだと 3.1系が入る
Docker
rbenv
Windows
Ruby Installer
WITH DEVKITを入れるのがいいと思います
C言語で書かれた拡張ライブラリのインストールなどが可能
Start Command Prompt with Ruby
というアプリが入るので、これで動かす
WSL2
WindowsでLinuxが動かせる(Ubuntuとか)
Ubuntuと同じ
Docker
Docker Desktop for Windows
WSL2と一緒に入れる感じに出来る
Mac
Docker Desktop for Mac
インストールするだけでいい
動くように設定するだけなら、Win, Linux, Macの中で一番やりやすいかも
rbenv
Homebrewで rbenv, ruby-buildを入れる
使い方はLinuxで紹介したのと同じ
余談 開発環境
これ一つ入れたら全部動くみたいなの無いのか?
各種パッケージマネージャーや、WindowsのRubyInstaller
でも、複数プロジェクトでバージョン違いとかは大変そう
Rubyを触ってみる、勉強を始めるだったらこれでいいと思う
おすすめの構成
Linux系のOSでrbenvでRubyを入れる
ガッツリ開発で使っていくならこれがいい
複数バージョンのRubyを切り替えられる
macOS 12でもいける
最新のはまだ未確認です
WindowsではWSLや仮想マシンでLinuxを入れて構築する
おすすめの構成2
Docker
Dockerを使えるようにするまでがちょっと大変かもしれない
こちらもプロジェクト毎に違うバージョンにするのがやりやすい
プロジェクトの中にDockerファイルや、docker-compose.ymlが入ってたりしそう
余談 エディタ
有料
RubyMine
無料
VS Code
リモート開発機能がいい
例えば Windows + WSL2とかMac + 仮想マシンLinuxなどで動かした場合
ホストOSのGUIでエディタが動かせる
でも接続先のマシンローカルで動いているように振る舞う
余談 OS
どのOSがいい?
MacとLinuxとWindowsで選ぶならどれでもいい
Railsとかも含めて、しっかり動く環境どれでも作れる