達人出版界の電子書籍『Railsの教科書』がGitHubで公開されている。公開されているとはいえ、それはPDFやePubではなくRailsアプリケーションだ。
Railsの教科書 - 達人出版会
GitHub - igaiga/rails_textbook
Railsの教科書を参照するために、Rails環境を構築しなければならない。それは本末転倒な気がする一方、自力で環境構築に成功したならば、第2章以降から始まるRailsアプリ開発は、定番のHello World代わりの題材としては最適だ。
『Railsの教科書』の導入手順はGitHubで公開されているのだが、動作環境の状況に応じて、実際には一手間必要なこともある。先日投稿した手順に沿った環境でも、やはりインストールはスムーズにいかなかったのだ。
Ubuntu 20.04 LTS+WSL2でRailsを起動するまで-Yarnはnpmから導入する - Technically Impossible
この投稿では、先日構築した環境へ『Railsの教科書』をインストールする手順を紹介する。
前提
あらかじめ、導入先となるRails環境を構築しておく必要がある。この投稿での環境は、次の投稿で紹介した手順に従って構築したものだ。
impsbl.hatenablog.jp
『Railsの教科書』の入手
入手から導入手順は、冒頭のGitHubに記載されている通りだ。
環境構築メモ > ローカルで閲覧
git clone https://github.com/igaiga/rails_textbook.git cd rails_textbook bundle install jekyll serve --watch --baseurl ''
まずGitHubからクローンし、フォルダへ移動するところまでのコマンドを実行する。
git clone https://github.com/igaiga/rails_textbook.git
cd rails_textbook
bundle、ライブラリの導入など
インストールを実行する前に解決しなければならないことがある。
- bundlerのバージョン相違
- ライブラリの導入
インストールに利用されるbundleのバージョンと整合させるため、加えてインストール中のコンパイルに必要なライブラリを補うためだ。具体的には、nokogiriの導入に際しlibxml2のビルドが実行される。このとき求められるzlibを導入しておく必要がある。
次のコマンドを実行する。
sudo gem install bundler:1.17.3 sudo apt install zlib1g-dev
『Railsの教科書』のインストール、実行
環境が整えば、次のコマンドでインストールする。
bundle install
場合によっては、引数に関する警告が多数表示されるかもしれないが、無視する。
問題なくインストールが完了したら、次のコマンドでアプリケーションを実行するのだが...
jekyll serve --watch --baseurl ''
その前に、ファイル”Gemfile.lock”を編集する。”concurrent-ruby”の指定ヴァージョンを、次のように変更する。初期状態であれば”1.1.6”が指定されているのだが、これが実行に差し障る。そのため新しいヴァージョンを指定する。
concurrent-ruby (1.1.8)
ちなみに、このファイル編集は、本来であればインストール実行前に実施しておくべきことなのかもしれない。上記コマンド実行によって生じる問題に気付いてから、解決法を模索するという、実際に経験した段取りを投稿に反映している都合だ。
気になる場合は、フォルダ”rails_textbook”を削除し、”git clone”からやり直しても良いだろう。それは次のような手順になる。
本来の手順
git clone https://github.com/igaiga/rails_textbook.git cd rails_textbook sudo gem install bundler:1.17.3 sudo apt install zlib1g-dev # ここで”Gemfile.lock”を編集する。 bundle install
そして、今後の簡便のため、実行コマンドを手短なファイル名のシェル・スクリプトに置き換えておく。今後、WSL環境を立ち上げるたびに、起動コマンドを繰り返す手間が緩和される。
cat <<EOF > railstext.sh jekyll serve --watch --baseurl '' EOF chmod 777 railstext.sh
ファイル名は任意だが、ここでは”railstext.sh”としている。このファイルを実行して、ブラウザから”http://localhost:4000/rails_textbook/”を参照する。表示されるのが、投稿冒頭に添付した画像の画面だ。
ページのキャプチャを、いくつか添付しておく。
あとがき