chromebook(c101pa)にrailsをインストール


はじめに

chromebookにrubyのインストールは無事に終わって、次はrubyの代表的なフレームワークであるrailsをインストールしてみたのでその手順をのせます。

chromebook(c101pa)にrubyをインストール手順はこちら

実施環境

chromebook c101pa
Chrome OS 80.0.3987.158 (2020/4/1時点の最新版)
linux(ベータ版) debian 10.3
rbenvとrubyはインストール済み。 → chromebook(c101pa)にrubyをインストール手順はこちら

やったこと。やってみた感想

  • bundlerのインストール → railsのインストール → Gemfileを使ったbundle installの流れ
  • railsは最近6系にメジャーアップデートされ、5系、6系で使い分ける必要がありそうなので、両方をインストール(プロジェクト作成時にバージョン指定)
  • railsインストールの事前に必要なもの(sqlite, java runtimeとか)が全く把握できていなくて、対処療法的に実施。
  • 6系のインストールはyarnのインストールが必要だったりと、かなり手こずった

railsのインストール手順

前述の通り、railsバージョン5系と6系、両方をインストールすることにします。

bundlerのインストール

まずは、rubyのgem群の管理をしてくれるbundler(これもgemだが)をインストールします。

$ gem install bundler
Fetching bundler-2.1.4.gem
Successfully installed bundler-2.1.4
Parsing documentation for bundler-2.1.4
Installing ri documentation for bundler-2.1.4
Done installing documentation for bundler after 12 seconds
1 gem installed

gem listの確認と更新

railsのバージョン情報をこちらから調べて、今回は5系の最新である5.2.4.2と6系の最新版6.0.2.2をインストールすることに。
gemlistに該当バージョンがあるか確認。

$ gem list rails

*** LOCAL GEMS ***

rails (6.0.2.2)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
sprockets-rails (3.2.1)

5系のバージョンがないため、5.2.4.2をgemlistに加えます。

gem i -v 5.2.4.2 rails

すると、きちんと反映された。

$ gem list rails

*** LOCAL GEMS ***

rails (6.0.2.2, 5.2.4.2)
rails-dom-testing (2.0.3)
rails-html-sanitizer (1.3.0)
sprockets-rails (3.2.1)

railsのインストール

railsのインストールを実施(5系&6系)
6系はバージョン指定せずに、5系はバージョン指定して実施。

$ gem install rails 
$ gem install rails:5.2.4.2

インストール後の確認

$ rails -v
Rails 6.0.2.2
$ rails _5.2.4.2_ -v
Rails 5.2.4.2

インストールされたのが、指定したバージョンと一致していることを確認

railsの動作確認(5系)

まずは5系から。rails newコマンドで新規プロジェクトを作成。

$ rails _5.2.4.2_ new rails_sample5

・・中略
Fetching sqlite3 1.4.2
Installing sqlite3 1.4.2 with native extensions
・・中略
sqlite3.h is missing. Try 'brew install sqlite3',
'yum install sqlite-devel' or 'apt-get install libsqlite3-dev'
and check your shared library search path (thelocation where your sqlite3 shared library is located).
・・中略
An error occurred while installing sqlite3 (1.4.2), and Bundler cannot continue.
Make sure that `gem install sqlite3 -v '1.4.2' --source 'https://rubygems.org/'` succeeds before bundling.

In Gemfile:
  sqlite3
         run  bundle exec spring binstub --all
Could not find gem 'sqlite3' in any of the gem sources listed in your Gemfile.
・・中略

sqlite3がないと怒られたので、支持に従ってsqlite3をインストールする

$ sudo apt install sqlite3 libsqlite3-dev

インストール後再実施

$ rails _5.2.4.2_ new rails_sample5

今度はうまくいったっぽい。

railsサーバを起動してみる

$ cd rails_sample5
$ rails server
・・中略
/home/great084/.rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/execjs-2.7.0/lib/execjs/runtimes.rb:58:in `autodetect': Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes. (ExecJS::RuntimeUnavailable) 
・・中略

JavaScript runtimeエラーが出力されたため、こちらを参考に、nodejsをインストールを実施。

git clone git://github.com/creationix/nvm.git ~/.nvm
source ~/.nvm/nvm.sh
nvm install v10
nvm use v10
echo "source ~/.nvm/nvm.sh" >> ~/.profile 

再度rails serverを実施後、待望のwelcome画面が表示された。

railsの動作確認(6系)

次に6系。同様にrails newコマンドで新規プロジェクトを作成。

$ rails new rails_sample6

・・中略
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/

yarnがインストールされてませんよと。。。
yarnって何者?という調査を並行しつつ、とりあえずガイドに従ってインストール

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update 
sudo apt install yarn

再実施

rails new rails_sample6
・・中略
 Webpacker successfully installed 🎉 🍰

webpackerのインストールも成功した模様で、期待できる。
というかrails6になって絵文字とか出てくるようになったのか・・・

そして、いよいよお待ちかねのrails serverを実施。
待望のwelcome画面が表示された!!!v5の白人→v6の有色人種になった。。。

参考