はじめに
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の有色人種になった。。。
参考
-
Railsのバージョンを指定してinstallする方法
→railsをバージョン指定してインストールする方法の参考にしました -
[Yarn Installation]
(https://classic.yarnpkg.com/en/docs/install#debian-stable)
→ yarnのインストール方法を参考に -
Rails6 Webpackerでエラーが出た
→ Webpacker関連のエラー解決の参考に