P.S. 動画にしました。
YouTubeリンク
↑ 動画の 44:23 まで視聴頂ければ幸いです。後半は余談なので、無視で大丈夫! (´・ω・`)
- 2020/10/22追記: インストールするRubyのバージョンを、Youtube動画に併せて、2.6.3 -> 2.6.5 表記に変更しました。
目標
- 以下の3つを使える様に (パソコンの環境を整える=>) 環境構築 する!
- Git
- Ruby
- DB
ざっくり全体の構成
- Windows 10
- WSL
- Ubuntu
- Git
- PostgreSQL
- rbenv
- ruby 2.6.5
- Git
- Ubuntu
- WSL
WSLというWindows10の機能を使ってUbuntuと呼ばれるOS環境を構築します。
そのUbuntuの中で 3つ(Git, Ruby, DB) を使える様にします!
info. これからやること (Agenda)
- Windowsの上でLinux環境を簡単に構築できるWSLという機能を有効にする。
- MicrosoftStoreから「Ubuntu」をインストール。
- Ubuntuを起動。(初回起動でNameとPassを設定)
- PostgreSQLというデータベースの管理ソフトをインストール!
- Rubyをインストールする。。。もろもろ。
- VSCodeのターミナルを、今回構築したWSLのコンソールに紐付ける。
余談: なぜUbuntuなのか? Windowsのそのままでは駄目なのか?
Windowsは接続やインストールで手間取る。
それと、Qiitaやネット上の情報はMacOSやLinuxでの環境を前提に解説している事が多い。
WindowsOSではなく、Linuxベースにすることで、環境を近づけられる。
ということで、今回はWindowsの上に、Linuxのディストリビューションの一つ、Ubuntu環境を構築していきます!
以下説明に入る。貼り付けて欲しいコードは、
コード部分
この様に表記していく。
Info. 前提のハードウェア情報:
今期は「WSL」というWindowsの機能を使用して、Ubuntu環境を構築していく。
このWSLは64ビット版のWindows10しか対応していない。
※Home, Proどちらでも利用可能
また、OSのバージョンが1709以降でないと使えない。
※1709でない人はWindows Updateをして欲しいです。
※OSの詳細を確認する方法
- 設定を開く(Win-I)
- 「システム」
- 「バージョン情報」
- 「デバイスの仕様」「システムの種類」でビットを確認
- 「Windowsの仕様」「バージョン」でバージョンを確認
01 WSLの有効化: デフォルトでは無効なので、有効にする。
-
Windowsボタンをクリックして、検索窓に「Windowsの機能」と打つと出る。
※プログラムのアンイストール → Windowsの機能の有効化または無効化でも行ける -
「Windows Subsystem for Linux」にチェックを入れる。
※2020/10更新:
Windowsの機能の有効化または無効化の画面にて、「Windows Subsystem for Linux」の項目が表記されていない方は、
「Linux用Windowsサブシステム」を変わりに選択してください。
※最近のWindowsUpdateにて名称が変更された様です。
PCの再起動が始まる
02. 再起動後に、Microsoft Store で 「WSL」と検索して、「Ubuntu」をインストールする。
2020/10/24時点では、20.04 LTS があると思うので、そちらが推奨です!! (後々のUpdateが少なくて済むというシンプルな理由です)
※頻繁に起動する様なら、タスクバーにピン留めすると良さそう。
03. Ubuntuの初期設定: Ubuntuのユーザー名とパスワード設定
初期起動のみUserNameと、Passwordの設定が求められる。
- ユーザー名(任意):
- 例)
codebase
- 例)
lagoon
- パスワード(任意):
- 例)
pass
※パスワードは、タイピングしても画面に表示されません。表示されませんが、打ててはいます。
04 PostgreSQLをインストールする
aptのインストール先を最新の状態にする
sudo apt-get -y update
aptを使用して、PostgreSQLをインストールする
sudo apt-get -y install postgresql
PostgreSQLサーバーの起動コマンドを入力
sudo service postgresql restart
※後々DBを使う時に、通常はPCの起動時にDBは起動するが、まれにしない時がある。
その場合は、上のコマンドを打てば良いので覚えておくと良い。
4.1 PostgreSQLの初期設定
インストール直後の設定が色々ある。
まずは、下のコマンドを打ち込んでPostgreSQLへアクセスする。
sudo -u postgres -i
ユーザーの作成
※このユーザー名は、Debianの初期起動時に作ったユーザー名が良いかも。
createuser -d -U postgres -P (任意のUser名) --superuser
- 例)
createuser -d -U postgres -P codebase --superuser
- 例)
createuser -d -U postgres -P lagoon --superuser
パスワードを求められたら、任意で打って欲しい
- 例)
pass
※たぶん確認用で2回、打ち込む事になるはず。
サンプルのデータベースを作成
※もしかしたらエラー(例: WARNING: could not flush dirty data: Function not implemented)がたくさん出るかもしれない。でもWSL特有?のエラーらしく、まぁ正常にデータベースが作成されるので良いか。あとで調べるかも。
createdb hello --owner=(先程作ったUser名) --template=template1
- 例)
createdb hello --owner=codebase --template=template1
- 例)
createdb hello --owner=lagoon --template=template1
初期設定は終わったので、抜ける。
exit
4.2 psqlが普通に動作するか確認
postgresにはpsqlコマンドを使ってアクセスする!
psql hello
※解説: 先程の初期設定で作ったhelloというデータベースへアクセスするコマンド
無事に先のコードが実行されたか確認する
ここまで無事に出来たら、PostgreSQLは大丈夫!
よしPostgreSQLへのアクセスから抜ける
\q
※ \
が ¥
の半角で表示される方がいるかも? でも大丈夫。同じです。
05 Rubyの構築
次にRubyが実行できる様に環境構築していく!
まずrbenvを紹介する。
rbenvはRuby用のパッケージ管理システムのこと。
Rubyをインストールするのにも使えるし、様々なバージョンのRubyを切り替えたりするのがスムーズに可能!
※なぜバージョンを切り替える必要があるかと言うと、その方が便利だから!
今作ったWebAppが2.6.5で作ると、でもそれが来年のRuby2.7.xで動作する保証って無いよね。。。
各プロジェクトごとに適用するRubyのバージョンを変更できた方が助かる。
それ、rbenvで管理させよう!てな感じです。
参考Qiita記事
結論: Rubyは、rbnevでインストールする!という事でrbenvをインストールしよう!!!
その前に、rbenvをインストールする為に必要なパッケージをまずは、インストールする
sudo apt-get -y install git autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm-dev gcc libpq-dev
では、rbenvのインストール
参考記事
↓一行ずつ(全部で5回)実行して欲しい。
git clone https://github.com/sstephenson/rbenv.git ~/.rbenv
git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
rbenvのインストールはこれで終わり。
次にRubyをインストールするが、インストールする前に、rbenvが無事に使えるか確認したい。
インストール可能なRubyのバージョン一覧を表示させてみよう
rbenv install -l
実際にRubyをインストールする。
今回は2.6.5をインストールする。
めっちゃ時間かかる(大体15-40分)
rbenv install 2.6.5
※このインストール間、画面上の表記があまり変化せず・・・あれ?フリーズしてね?って思うかもしれないが、大丈夫!、、、なはず。
しばらくまってみよう。1時間待っても駄目なら疑おう。
無事にRubyがインストールできたか、確認してみる
rbenv versions
ここで表示された一覧で、米印みたいなのが、systemでなければok
benvで今インストールした2.6.5を標準で使うように設定する
rbenv global 2.6.5
ついでに、Rubyのバージョン確認コマンドを実行して確認もしよう。
ruby -v
インストールしたver(今回で言うと2.6.5)ならok
// rbenvをaptではなく、github経由でインストールする理由は、githubからだと比較的最新のバージョンをインストールできるから。・・・だったはず。。。
5.1 Rubyの便利なライブラリを入れとく
Rubyではライブラリをgemにパッケージ化してます。
そのgemを管理する、パッケージ管理ツールがRubyGemsです。
RubyGemsはRubyインストールと同時に使えます。
簡単に言うと、ライブラリ(拡張機能)はGemと呼ばれる機能で管理されてるし、インストールする時にはGemコマンドを使うよって事。
gemはaptに似てる。
よし!では今後使いそうなGemをインストールしていこう!
gem install sinatra sinatra-contrib pg -N
※インストールで、セキュリティ警告のウィンドウが出るはず。許可してあげて。
06 VSCodeの設定変更
今回はWSLで環境構築したが、開発で使うVSCode上のターミナルからその環境にアクセスしたい。
よって、VSCodeのsettings.jsonに以下を記述する。
※settings.jsonの開き方は、Ctrl-Shift-Pを押して、そこで「json」と入力。 settings.jsonを開く的なニュアンスの英語が選択肢としてあると思うので、それをクリック!
波括弧 "{ (中身) }" の中身に以下のコードを貼り付け
// ターミナルを開いた時にWSLのCUIにアクセスするように設定 at 2019/06 on CODEBASEプログラミング教室
"terminal.integrated.shell.windows": "C:\\Windows\\System32\\wsl.exe"
試しにターミナルを起動して確認してね。
※ちなみに、ターミナルを開くショートカットがあるぞい。Ctrl-@
2020/10追記: 初回起動時には、右下に許可を求めるポップが出てくるので、許可ボタンをクリックして欲しいです。
試しに、インストールRubyのバージョンを確認するコマンドを打ってみても良い。
ruby -v
さっきと同じ2.6.5が表示されれば成功
(余談)info. シンボリックリンクを作成しとく
必要な人のみやる。ただ、何かと便利
シンボリックリンクとは、簡単に言うとショートカット。
- デスクトップへのリンク作成
ln -s /mnt/c/Users/(Windowsユーザー名)/Desktop ~/Desktop
- 僕はOneDriveもやっとく
ln -s /mnt/c/Users/(Windowsユーザー名)/OneDrive ~/OneDrive
最後に
本来はaptで取得する先を日本のサーバーに切り替えた方が良いらしいが、変更してうまくいくのか検証していないので、載せていない。今後、成功したらアップデートしとく予定。