2021年5月5日水曜日

M1 Mac がやってきた(Rails導入篇)

Rails開発の環境を構築した.必要な事前準備は(DBを除いて)済ませてある.必要なソフトウェアや環境の設定については,「ソフトウェア設定編」や「開封編」を参照されたい.

Railsのインストール

いつもの手順でRailsをインストールする.アプリ名はとりあえずRailsTestとしておこう.

mac5:~ iiojun$ mkdir RailsTest

mac5:~ iiojun$ cd RailsTest

mac5:RailsTest iiojun$ bundle init

Writing new Gemfile to /Users/iiojun/RailsTest/Gemfile

mac5:RailsTest iiojun$ cp Gemfile Gemfile.old

mac5:RailsTest iiojun$ vi Gemfile

mac5:RailsTest iiojun$ diff Gemfile.old Gemfile

7c7

< # gem "rails"

---

> gem "rails"

mac5:RailsTest iiojun$ bundle config set path vendor/bundle

mac5:RailsTest iiojun$ bundle install

Fetching gem metadata from https://rubygems.org/.............

Resolving dependencies...

Fetching rake 13.0.3

Installing rake 13.0.3

Fetching crass 1.0.6

ここまで,いつもどおりである.bundle installが一瞬で終わる.

Fetching rails 6.1.3.1

Installing rails 6.1.3.1

Bundle complete! 1 Gemfile dependency, 41 gems now installed.

Bundled gems are installed into `./vendor/bundle`

mac5:RailsTest iiojun$ bundle exec rails new . -f

今回はとりあえずPostgreSQLを使わないので -d postgresql の指定はしない(PostgreSQLをインストールして使う場合は「ソフトウェア設定編(2)」を参照されたい)

mac5:RailsTest iiojun$ bundle exec rails new . -f

       exist  

      create  README.md

      create  Rakefile

      create  .ruby-version

      create  config.ru

      create  .gitignore

      create  .gitattributes

       force  Gemfile

         run  git init from "."

hint: Using 'master' as the name for the initial branch. This default branch name

hint: is subject to change. To configure the initial branch name to use in all

hint: of your new repositories, which will suppress this warning, call:

hint: 

hint: git config --global init.defaultBranch <name>

hint: 

hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and

hint: 'development'. The just-created branch can be renamed via this command:

hint: 

hint: git branch -m <name>

Initialized empty Git repository in /Users/iiojun/Desktop/Work/RailsTest/.git/

      create  package.json

      create  app

途中,ちょっとしたエラーが出るが,気にせず最後まで進める.これも速い.M1サイコーサイコーサイコー

├─ utils-merge@1.0.1

├─ uuid@3.4.0

├─ wbuf@1.7.3

├─ webpack-dev-middleware@3.7.3

├─ webpack-dev-server@3.11.2

├─ websocket-driver@0.7.4

├─ websocket-extensions@0.1.4

└─ ws@6.2.1

  Done in 3.02s.

Webpacker successfully installed 🎉 🍰

mac5:RailsTest iiojun$

しばらく待てば,無事にインストールできる.

エラー対応のワーカラウンド

注:2021年6月25日現在,以下のワーカラウンドは不要になったことを確認済み.

残念ながら,このままだとエラーが出てうまく動作しないという問題がある.インストール時に出ていたエラーもおそらく同じだろう.そのワークアラウンドを次で行う.

修正すべきファイルは,config/environments/development.rb である.次の変更を加える.

  # Use an evented file watcher to asynchronously detect changes in source code,

  # routes, locales, etc. This feature depends on the listen gem.

  #config.file_watcher = ActiveSupport::EventedFileUpdateChecker

  config.file_watcher = ActiveSupport::FileUpdateChecker

ファイルの変更を自動的に検知してアップデートをかけるような仕組みらしいのだが,これが関係するモジュールが「CPUタイプがチャウよ!」とエラーを吐いて実行できない.いろいろググったところによれば,イベントを検知するタイプではなくポーリングするタイプに変更するとこの問題を回避できるということなので,バッドノウハウだなあと思いつつも,変更する.

これでよし.サーバを起動してみる.

mac5:RailsTest iiojun$ bin/rails s

=> Booting Puma

=> Rails 6.1.3.1 application starting in development 

=> Run `bin/rails server --help` for more startup options

Puma starting in single mode...

* Puma version: 5.2.2 (ruby 3.0.1-p64) ("Fettisdagsbulle")

*  Min threads: 5

*  Max threads: 5

*  Environment: development

*          PID: 16272

* Listening on http://127.0.0.1:3000

* Listening on http://[::1]:3000

Use Ctrl-C to stop

無事に起動できた.めでたしめでたし


0 件のコメント:

コメントを投稿