Rails 環境の構築 - 不定期刊 Rails App を作る(2)

RailsApp Rails 2018年 11月 6日

Rails 5.2 の設定

まず,現在の最新版である Rails 5.2.1 をインストールする. すでに学生が Webpack への移行をしているので,ここでも Webpack で運用することにする. 詳しくは Techracho の 新しいRailsフロントエンド開発(1)Asset PipelineからWebpackへ(翻訳) を参考に進める. 以下,手順を示す.

  1. ディレクトリを作成して移動する
  2. mkdir attendance; cd attendance
  3. Ruby は rbenv で最新版をインストールしておく.rbenv がインストールされていなければ,homebrew で rbenv, ruby-build をインストールしておく
  4. brew install rbenv ruby-build
  5. rbenv で 2.5.3 をインストールする
  6. rbenv install 2.5.3
  7. このフォルダで利用する Ruby を 2.5.3 にしておく
  8. rbenv local 2.5.3
  9. Rails の場合,gem は bundler でローカルフォルダ(vendor/bundle)の下に展開する.このため,bundler だけは gem でインストールしておく.
  10. gem install bundler
  11. Gemfile を記述する
  12. source 'http://rubygems.org'
    
    gem 'rails', '5.2.1'
  13. bundler で vendor/bundle の下に gem 群をインストールする(2行目以降は結果)
  14. $ bundle install --path vendor/bundle --jobs 4
    Fetching gem metadata from http://rubygems.org/.............
    Fetching rake 12.3.1
    Installing rake 12.3.1
    Fetching concurrent-ruby 1.0.5
    Fetching minitest 5.11.3
    Fetching thread_safe 0.3.6
    Installing minitest 5.11.3
    Installing thread_safe 0.3.6
    Installing concurrent-ruby 1.0.5
    Fetching builder 3.2.3
    Installing builder 3.2.3
    Fetching erubi 1.7.1
    Fetching mini_portile2 2.3.0
    Installing erubi 1.7.1
    Installing mini_portile2 2.3.0
    Fetching crass 1.0.4
    Installing crass 1.0.4
    Fetching rack 2.0.5
    Installing rack 2.0.5
    Fetching nio4r 2.3.1
    Fetching websocket-extensions 0.1.3
    Installing nio4r 2.3.1 with native extensions
    Installing websocket-extensions 0.1.3
    Fetching mini_mime 1.0.1
    Installing mini_mime 1.0.1
    Fetching arel 9.0.0
    Installing arel 9.0.0
    Fetching mimemagic 0.3.2
    Using bundler 1.17.1
    Fetching method_source 0.9.1
    Installing method_source 0.9.1
    Installing mimemagic 0.3.2
    Fetching thor 0.20.0
    Installing thor 0.20.0
    Fetching tzinfo 1.2.5
    Installing tzinfo 1.2.5
    Fetching nokogiri 1.8.5
    Fetching i18n 1.1.1
    Installing i18n 1.1.1
    Fetching websocket-driver 0.7.0
    Installing websocket-driver 0.7.0 with native extensions
    Fetching mail 2.7.1
    Installing mail 2.7.1
    Fetching rack-test 1.1.0
    Installing rack-test 1.1.0
    Fetching sprockets 3.7.2
    Installing sprockets 3.7.2
    Fetching marcel 0.3.3
    Installing marcel 0.3.3
    Fetching activesupport 5.2.1
    Installing activesupport 5.2.1
    Fetching globalid 0.4.1
    Fetching activemodel 5.2.1
    Installing globalid 0.4.1
    Installing activemodel 5.2.1
    Fetching activejob 5.2.1
    Installing activejob 5.2.1
    Fetching activerecord 5.2.1
    Installing nokogiri 1.8.5 with native extensions
    Installing activerecord 5.2.1
    Fetching rails-dom-testing 2.0.3
    Fetching loofah 2.2.3
    Installing rails-dom-testing 2.0.3
    Installing loofah 2.2.3
    Fetching rails-html-sanitizer 1.0.4
    Installing rails-html-sanitizer 1.0.4
    Fetching actionview 5.2.1
    Installing actionview 5.2.1
    Fetching actionpack 5.2.1
    Installing actionpack 5.2.1
    Fetching actionmailer 5.2.1
    Fetching actioncable 5.2.1
    Fetching activestorage 5.2.1
    Installing actionmailer 5.2.1
    Installing actioncable 5.2.1
    Installing activestorage 5.2.1
    Fetching railties 5.2.1
    Installing railties 5.2.1
    Fetching sprockets-rails 3.2.1
    Installing sprockets-rails 3.2.1
    Fetching rails 5.2.1
    Installing rails 5.2.1
    Bundle complete! 1 Gemfile dependency, 41 gems now installed.
    Bundled gems are installed into `./vendor/bundle`
  15. rails のインストール時に yarn が使われるので,もし入っていないなら homebrew でインストールしておく
  16. brew install yarn
  17. また,今回は PostgreSQL を使うので,もし入っていないなら同様に homebrew でインストールしておく
  18. brew install postgresql
  19. rails コマンドを実行する(2行目以降は結果)
  20. bundle exec rails new . -d postgresql --skip-action-mailer --skip-active-storage --skip-action-cable --skip-sprockets --skip-coffee --skip-turbolinks --skip-test --webpack
           exist
          create  README.md
          create  Rakefile
        conflict  .ruby-version
    Overwrite /Users/hkob/rails/attendance/.ruby-version? (enter "h" for help) [Ynaqdh]
           force  .ruby-version
          create  config.ru
          create  .gitignore
        conflict  Gemfile
    Overwrite /Users/hkob/rails/attendance/Gemfile? (enter "h" for help) [Ynaqdh]
           force  Gemfile
             run  git init from "."
    Initialized empty Git repository in /Users/hkob/rails/attendance/.git/
          create  package.json
          create  app
          create  app/assets/config/manifest.js
          create  app/assets/javascripts/application.js
          create  app/assets/javascripts/cable.js
          create  app/assets/stylesheets/application.css
          create  app/channels/application_cable/channel.rb
          create  app/channels/application_cable/connection.rb
          create  app/controllers/application_controller.rb
          create  app/helpers/application_helper.rb
          create  app/jobs/application_job.rb
          create  app/mailers/application_mailer.rb
          create  app/models/application_record.rb
          create  app/views/layouts/application.html.erb
          create  app/views/layouts/mailer.html.erb
          create  app/views/layouts/mailer.text.erb
          create  app/assets/images/.keep
          create  app/controllers/concerns/.keep
          create  app/models/concerns/.keep
          create  bin
          create  bin/bundle
          create  bin/rails
          create  bin/rake
          create  bin/setup
          create  bin/update
          create  bin/yarn
          create  config
          create  config/routes.rb
          create  config/application.rb
          create  config/environment.rb
          create  config/puma.rb
          create  config/spring.rb
          create  config/environments
          create  config/environments/development.rb
          create  config/environments/production.rb
          create  config/environments/test.rb
          create  config/initializers
          create  config/initializers/application_controller_renderer.rb
          create  config/initializers/assets.rb
          create  config/initializers/backtrace_silencers.rb
          create  config/initializers/content_security_policy.rb
          create  config/initializers/cookies_serializer.rb
          create  config/initializers/cors.rb
          create  config/initializers/filter_parameter_logging.rb
          create  config/initializers/inflections.rb
          create  config/initializers/mime_types.rb
          create  config/initializers/new_framework_defaults_5_2.rb
          create  config/initializers/wrap_parameters.rb
          create  config/locales
          create  config/locales/en.yml
          create  config/master.key
          append  .gitignore
          create  config/boot.rb
          create  config/database.yml
          create  db
          create  db/seeds.rb
          create  lib
          create  lib/tasks
          create  lib/tasks/.keep
          create  lib/assets
          create  lib/assets/.keep
          create  log
          create  log/.keep
          create  public
          create  public/404.html
          create  public/422.html
          create  public/500.html
          create  public/apple-touch-icon-precomposed.png
          create  public/apple-touch-icon.png
          create  public/favicon.ico
          create  public/robots.txt
          create  tmp
          create  tmp/.keep
          create  tmp/cache
          create  tmp/cache/assets
           exist  vendor
          create  vendor/.keep
          remove  config/initializers/assets.rb
          remove  app/views/layouts/mailer.html.erb
          remove  app/views/layouts/mailer.text.erb
          remove  app/mailers
          remove  test/mailers
          remove  app/assets/javascripts/cable.js
          remove  app/channels
          remove  config/initializers/cors.rb
          remove  config/initializers/new_framework_defaults_5_2.rb
             run  bundle install
    The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run `bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java`.
    Fetching gem metadata from https://rubygems.org/.........
    Fetching gem metadata from https://rubygems.org/.
    Resolving dependencies...
    Using rake 12.3.1
    Using concurrent-ruby 1.0.5
    Using minitest 5.11.3
    Using thread_safe 0.3.6
    Using builder 3.2.3
    Using erubi 1.7.1
    Using mini_portile2 2.3.0
    Using nio4r 2.3.1
    Using websocket-extensions 0.1.3
    Using mini_mime 1.0.1
    Using arel 9.0.0
    Using mimemagic 0.3.2
    Using rack 2.0.5
    Fetching msgpack 1.2.4
    Fetching bindex 0.5.0
    Using crass 1.0.4
    Using bundler 1.17.1
    Fetching byebug 10.0.2
    Installing bindex 0.5.0 with native extensions
    Installing byebug 10.0.2 with native extensions
    Installing msgpack 1.2.4 with native extensions
    Fetching ffi 1.9.25
    Installing ffi 1.9.25 with native extensions
    Fetching multi_json 1.13.1
    Installing multi_json 1.13.1
    Fetching rb-fsevent 0.10.3
    Installing rb-fsevent 0.10.3
    Fetching ruby_dep 1.5.0
    Installing ruby_dep 1.5.0
    Using method_source 0.9.1
    Fetching pg 1.1.3
    Installing pg 1.1.3 with native extensions
    Fetching puma 3.12.0
    Installing puma 3.12.0 with native extensions
    Using thor 0.20.0
    Using i18n 1.1.1
    Using tzinfo 1.2.5
    Using nokogiri 1.8.5
    Using websocket-driver 0.7.0
    Using mail 2.7.1
    Using marcel 0.3.3
    Using rack-test 1.1.0
    Fetching rack-proxy 0.6.5
    Installing rack-proxy 0.6.5
    Using sprockets 3.7.2
    Fetching bootsnap 1.3.2
    Installing bootsnap 1.3.2 with native extensions
    Fetching rb-inotify 0.9.10
    Installing rb-inotify 0.9.10
    Using activesupport 5.2.1
    Using loofah 2.2.3
    Fetching listen 3.1.5
    Installing listen 3.1.5
    Using rails-dom-testing 2.0.3
    Using rails-html-sanitizer 1.0.4
    Using globalid 0.4.1
    Using activemodel 5.2.1
    Fetching jbuilder 2.7.0
    Installing jbuilder 2.7.0
    Fetching spring 2.0.2
    Installing spring 2.0.2
    Using actionview 5.2.1
    Using activejob 5.2.1
    Using activerecord 5.2.1
    Fetching spring-watcher-listen 2.0.1
    Installing spring-watcher-listen 2.0.1
    Using actionpack 5.2.1
    Using actioncable 5.2.1
    Using actionmailer 5.2.1
    Using activestorage 5.2.1
    Using railties 5.2.1
    Using sprockets-rails 3.2.1
    Using rails 5.2.1
    Fetching web-console 3.7.0
    Installing web-console 3.7.0
    Fetching webpacker 3.5.5
    Installing webpacker 3.5.5
    Bundle complete! 12 Gemfile dependencies, 59 gems now installed.
    Bundled gems are installed into `./vendor/bundle`
           rails  webpacker:install
    RAILS_ENV=development environment is not defined in config/webpacker.yml, falling back to production environment
          create  config/webpacker.yml
    Copying webpack core config
          create  config/webpack
          create  config/webpack/development.js
          create  config/webpack/environment.js
          create  config/webpack/production.js
          create  config/webpack/test.js
    Copying .postcssrc.yml to app root directory
          create  .postcssrc.yml
    Copying .babelrc to app root directory
          create  .babelrc
    Creating JavaScript app source directory
          create  app/javascript
          create  app/javascript/packs/application.js
           apply  /Users/hkob/rails/attendance/vendor/bundle/ruby/2.5.0/gems/webpacker-3.5.5/lib/install/binstubs.rb
      Copying binstubs
           exist    bin
          create    bin/webpack
          create    bin/webpack-dev-server
    Adding configurations
          append  .gitignore
    Installing all JavaScript dependencies
             run  yarn add @rails/webpacker@3.5 --tilde from "."
    yarn add v1.12.1
    info No lockfile found.
    [1/4] 🔍  Resolving packages...
    warning @rails/webpacker > postcss-cssnext@3.1.0: 'postcss-cssnext' has been deprecated in favor of 'postcss-preset-env'. Read more at https://moox.io/blog/deprecating-cssnext/
    warning @rails/webpacker > postcss-cssnext > pixrem > browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    warning @rails/webpacker > postcss-cssnext > caniuse-api > browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    warning @rails/webpacker > postcss-cssnext > autoprefixer > browserslist@2.11.3: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    warning @rails/webpacker > css-loader > cssnano > autoprefixer > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    warning @rails/webpacker > css-loader > cssnano > postcss-merge-rules > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    warning @rails/webpacker > css-loader > cssnano > postcss-merge-rules > caniuse-api > browserslist@1.7.7: Browserslist 2 could fail on reading Browserslist >3.0 config used in other tools.
    [2/4] 🚚  Fetching packages...
    [3/4] 🔗  Linking dependencies...
    warning "@rails/webpacker > postcss-cssnext@3.1.0" has unmet peer dependency "caniuse-lite@^1.0.30000697".
    [4/4] 📃  Building fresh packages...
    success Saved lockfile.
    success Saved 539 new dependencies.
    info Direct dependencies
    └─ @rails/webpacker@3.5.5
    info All dependencies
    ├─ @rails/webpacker@3.5.5
    ├─ abbrev@1.1.1
    ├─ acorn-dynamic-import@2.0.2
    ├─ acorn@5.7.3
    ├─ align-text@0.1.4
    ├─ amdefine@1.0.1
    ├─ ansi-styles@2.2.1
    ├─ anymatch@2.0.0
    ├─ are-we-there-yet@1.1.5
    ├─ arr-flatten@1.1.0
    ├─ array-find-index@1.0.2
    ├─ asn1.js@4.10.1
    ├─ asn1@0.2.4
    ├─ assert@1.4.1
    ├─ assign-symbols@1.0.0
    ├─ async-each@1.0.1
    ├─ async-foreach@0.1.3
    ├─ async@2.6.1
    ├─ asynckit@0.4.0
    ├─ atob@2.1.2
    ├─ autoprefixer@7.2.6
    ├─ aws-sign2@0.7.0
    ├─ aws4@1.8.0
    ├─ babel-core@6.26.3
    ├─ babel-generator@6.26.1
    ├─ babel-helper-builder-binary-assignment-operator-visitor@6.24.1
    ├─ babel-helper-call-delegate@6.24.1
    ├─ babel-helper-define-map@6.26.0
    ├─ babel-helper-explode-assignable-expression@6.24.1
    ├─ babel-helper-remap-async-to-generator@6.24.1
    ├─ babel-helpers@6.24.1
    ├─ babel-loader@7.1.5
    ├─ babel-plugin-check-es2015-constants@6.22.0
    ├─ babel-plugin-syntax-async-functions@6.13.0
    ├─ babel-plugin-syntax-class-properties@6.13.0
    ├─ babel-plugin-syntax-dynamic-import@6.18.0
    ├─ babel-plugin-syntax-exponentiation-operator@6.13.0
    ├─ babel-plugin-syntax-object-rest-spread@6.13.0
    ├─ babel-plugin-syntax-trailing-function-commas@6.22.0
    ├─ babel-plugin-transform-async-to-generator@6.24.1
    ├─ babel-plugin-transform-class-properties@6.24.1
    ├─ babel-plugin-transform-es2015-arrow-functions@6.22.0
    ├─ babel-plugin-transform-es2015-block-scoped-functions@6.22.0
    ├─ babel-plugin-transform-es2015-block-scoping@6.26.0
    ├─ babel-plugin-transform-es2015-classes@6.24.1
    ├─ babel-plugin-transform-es2015-computed-properties@6.24.1
    ├─ babel-plugin-transform-es2015-destructuring@6.23.0
    ├─ babel-plugin-transform-es2015-duplicate-keys@6.24.1
    ├─ babel-plugin-transform-es2015-for-of@6.23.0
    ├─ babel-plugin-transform-es2015-function-name@6.24.1
    ├─ babel-plugin-transform-es2015-literals@6.22.0
    ├─ babel-plugin-transform-es2015-modules-amd@6.24.1
    ├─ babel-plugin-transform-es2015-modules-commonjs@6.26.2
    ├─ babel-plugin-transform-es2015-modules-systemjs@6.24.1
    ├─ babel-plugin-transform-es2015-modules-umd@6.24.1
    ├─ babel-plugin-transform-es2015-object-super@6.24.1
    ├─ babel-plugin-transform-es2015-parameters@6.24.1
    ├─ babel-plugin-transform-es2015-shorthand-properties@6.24.1
    ├─ babel-plugin-transform-es2015-spread@6.22.0
    ├─ babel-plugin-transform-es2015-sticky-regex@6.24.1
    ├─ babel-plugin-transform-es2015-template-literals@6.22.0
    ├─ babel-plugin-transform-es2015-typeof-symbol@6.23.0
    ├─ babel-plugin-transform-es2015-unicode-regex@6.24.1
    ├─ babel-plugin-transform-exponentiation-operator@6.24.1
    ├─ babel-plugin-transform-object-rest-spread@6.26.0
    ├─ babel-plugin-transform-regenerator@6.26.0
    ├─ babel-plugin-transform-strict-mode@6.24.1
    ├─ babel-polyfill@6.26.0
    ├─ babel-preset-env@1.7.0
    ├─ babel-register@6.26.0
    ├─ base@0.11.2
    ├─ base64-js@1.3.0
    ├─ bcrypt-pbkdf@1.0.2
    ├─ big.js@3.2.0
    ├─ binary-extensions@1.12.0
    ├─ block-stream@0.0.9
    ├─ bluebird@3.5.2
    ├─ brace-expansion@1.1.11
    ├─ braces@2.3.2
    ├─ browserify-aes@1.2.0
    ├─ browserify-cipher@1.0.1
    ├─ browserify-des@1.0.2
    ├─ browserify-sign@4.0.4
    ├─ browserify-zlib@0.2.0
    ├─ browserslist@1.7.7
    ├─ buffer-from@1.1.1
    ├─ buffer-xor@1.0.3
    ├─ buffer@4.9.1
    ├─ builtin-modules@1.1.1
    ├─ builtin-status-codes@3.0.0
    ├─ cacache@10.0.4
    ├─ cache-base@1.0.1
    ├─ camelcase-keys@2.1.0
    ├─ caniuse-api@2.0.0
    ├─ caniuse-db@1.0.30000904
    ├─ caniuse-lite@1.0.30000904
    ├─ case-sensitive-paths-webpack-plugin@2.1.2
    ├─ caseless@0.12.0
    ├─ center-align@0.1.3
    ├─ chokidar@2.0.4
    ├─ chownr@1.1.1
    ├─ clap@1.2.3
    ├─ class-utils@0.3.6
    ├─ clone-deep@2.0.2
    ├─ clone@1.0.4
    ├─ co@4.6.0
    ├─ coa@1.0.4
    ├─ code-point-at@1.1.0
    ├─ collection-visit@1.0.0
    ├─ color-convert@1.9.3
    ├─ color-string@1.5.3
    ├─ colormin@1.1.2
    ├─ colors@1.1.2
    ├─ combined-stream@1.0.7
    ├─ commander@2.13.0
    ├─ commondir@1.0.1
    ├─ compression-webpack-plugin@1.1.12
    ├─ concat-map@0.0.1
    ├─ concat-stream@1.6.2
    ├─ console-browserify@1.1.0
    ├─ console-control-strings@1.1.0
    ├─ constants-browserify@1.0.0
    ├─ convert-source-map@1.6.0
    ├─ copy-concurrently@1.0.5
    ├─ copy-descriptor@0.1.1
    ├─ core-util-is@1.0.2
    ├─ cosmiconfig@4.0.0
    ├─ create-ecdh@4.0.3
    ├─ create-hmac@1.1.7
    ├─ cross-spawn@3.0.1
    ├─ crypto-browserify@3.12.0
    ├─ css-color-function@1.3.3
    ├─ css-color-names@0.0.4
    ├─ css-loader@0.28.11
    ├─ cssesc@0.1.0
    ├─ cssnano@3.10.0
    ├─ csso@2.3.2
    ├─ currently-unhandled@0.4.1
    ├─ cyclist@0.2.2
    ├─ dashdash@1.14.1
    ├─ date-now@0.1.4
    ├─ debug@2.6.9
    ├─ decamelize@1.2.0
    ├─ decode-uri-component@0.2.0
    ├─ deep-extend@0.6.0
    ├─ defined@1.0.0
    ├─ delayed-stream@1.0.0
    ├─ delegates@1.0.0
    ├─ des.js@1.0.0
    ├─ detect-indent@4.0.0
    ├─ detect-libc@1.0.3
    ├─ diffie-hellman@5.0.3
    ├─ domain-browser@1.2.0
    ├─ duplexify@3.6.1
    ├─ ecc-jsbn@0.1.2
    ├─ electron-to-chromium@1.3.83
    ├─ emojis-list@2.1.0
    ├─ enhanced-resolve@3.4.1
    ├─ errno@0.1.7
    ├─ error-ex@1.3.2
    ├─ es6-map@0.1.5
    ├─ es6-set@0.1.5
    ├─ es6-symbol@3.1.1
    ├─ es6-weak-map@2.0.2
    ├─ escape-string-regexp@1.0.5
    ├─ escope@3.6.0
    ├─ esprima@4.0.1
    ├─ esrecurse@4.2.1
    ├─ estraverse@4.2.0
    ├─ events@1.1.1
    ├─ evp_bytestokey@1.0.3
    ├─ execa@0.7.0
    ├─ expand-brackets@2.1.4
    ├─ extend@3.0.2
    ├─ extglob@2.0.4
    ├─ extract-text-webpack-plugin@3.0.2
    ├─ extsprintf@1.3.0
    ├─ fast-deep-equal@2.0.1
    ├─ fastparse@1.1.2
    ├─ file-loader@1.1.11
    ├─ fill-range@4.0.0
    ├─ find-up@2.1.0
    ├─ flush-write-stream@1.0.3
    ├─ for-in@1.0.2
    ├─ for-own@1.0.0
    ├─ forever-agent@0.6.1
    ├─ form-data@2.3.3
    ├─ from2@2.3.0
    ├─ fs-extra@0.30.0
    ├─ fs-minipass@1.2.5
    ├─ fs.realpath@1.0.0
    ├─ fsevents@1.2.4
    ├─ fstream@1.0.11
    ├─ function-bind@1.1.1
    ├─ gauge@2.7.4
    ├─ gaze@1.1.3
    ├─ get-stream@3.0.0
    ├─ get-value@2.0.6
    ├─ getpass@0.1.7
    ├─ glob-parent@3.1.0
    ├─ glob@7.1.3
    ├─ globals@9.18.0
    ├─ globule@1.2.1
    ├─ har-schema@2.0.0
    ├─ har-validator@5.1.0
    ├─ has-ansi@2.0.0
    ├─ has-flag@3.0.0
    ├─ has-unicode@2.0.1
    ├─ has-value@1.0.0
    ├─ has-values@1.0.0
    ├─ hash.js@1.1.5
    ├─ hmac-drbg@1.0.1
    ├─ home-or-tmp@2.0.0
    ├─ hosted-git-info@2.7.1
    ├─ html-comment-regex@1.1.2
    ├─ http-signature@1.2.0
    ├─ https-browserify@1.0.0
    ├─ iconv-lite@0.4.24
    ├─ icss-replace-symbols@1.1.0
    ├─ icss-utils@2.1.0
    ├─ ieee754@1.1.12
    ├─ ignore-walk@3.0.1
    ├─ import-cwd@2.1.0
    ├─ import-from@2.1.0
    ├─ in-publish@2.0.0
    ├─ indent-string@2.1.0
    ├─ indexof@0.0.1
    ├─ inflight@1.0.6
    ├─ ini@1.3.5
    ├─ interpret@1.1.0
    ├─ invert-kv@1.0.0
    ├─ is-absolute-url@2.1.0
    ├─ is-accessor-descriptor@1.0.0
    ├─ is-arrayish@0.2.1
    ├─ is-binary-path@1.0.1
    ├─ is-builtin-module@1.0.0
    ├─ is-data-descriptor@1.0.0
    ├─ is-descriptor@1.0.2
    ├─ is-directory@0.3.1
    ├─ is-extglob@2.1.1
    ├─ is-finite@1.0.2
    ├─ is-fullwidth-code-point@1.0.0
    ├─ is-glob@4.0.0
    ├─ is-plain-obj@1.1.0
    ├─ is-plain-object@2.0.4
    ├─ is-stream@1.1.0
    ├─ is-svg@2.1.0
    ├─ is-typedarray@1.0.0
    ├─ is-utf8@0.2.1
    ├─ is-windows@1.0.2
    ├─ isarray@1.0.0
    ├─ isexe@2.0.0
    ├─ isnumeric@0.2.0
    ├─ isstream@0.1.2
    ├─ js-base64@2.4.9
    ├─ js-tokens@3.0.2
    ├─ js-yaml@3.12.0
    ├─ jsesc@1.3.0
    ├─ json-loader@0.5.7
    ├─ json-parse-better-errors@1.0.2
    ├─ json-schema-traverse@0.4.1
    ├─ json-schema@0.2.3
    ├─ json-stringify-safe@5.0.1
    ├─ json5@0.5.1
    ├─ jsonfile@2.4.0
    ├─ jsprim@1.4.1
    ├─ kind-of@3.2.2
    ├─ klaw@1.3.1
    ├─ last-call-webpack-plugin@2.1.2
    ├─ lazy-cache@1.0.4
    ├─ load-json-file@1.1.0
    ├─ loader-runner@2.3.1
    ├─ locate-path@2.0.0
    ├─ lodash.assign@4.2.0
    ├─ lodash.camelcase@4.3.0
    ├─ lodash.clonedeep@4.5.0
    ├─ lodash.debounce@4.0.8
    ├─ lodash.mergewith@4.6.1
    ├─ lodash.tail@4.1.1
    ├─ lodash.template@4.4.0
    ├─ lodash.templatesettings@4.1.0
    ├─ lodash@4.17.11
    ├─ longest@1.0.1
    ├─ loose-envify@1.4.0
    ├─ loud-rejection@1.6.0
    ├─ make-dir@1.3.0
    ├─ map-obj@1.0.1
    ├─ map-visit@1.0.0
    ├─ math-expression-evaluator@1.2.17
    ├─ mem@1.1.0
    ├─ memory-fs@0.4.1
    ├─ meow@3.7.0
    ├─ micromatch@3.1.10
    ├─ miller-rabin@4.0.1
    ├─ mime-db@1.37.0
    ├─ mime-types@2.1.21
    ├─ mimic-fn@1.2.0
    ├─ minimalistic-assert@1.0.1
    ├─ minimalistic-crypto-utils@1.0.1
    ├─ minimist@1.2.0
    ├─ minizlib@1.1.1
    ├─ mississippi@2.0.0
    ├─ mixin-deep@1.3.1
    ├─ mixin-object@2.0.1
    ├─ mkdirp@0.5.1
    ├─ move-concurrently@1.0.1
    ├─ ms@2.0.0
    ├─ nan@2.11.1
    ├─ nanomatch@1.2.13
    ├─ needle@2.2.4
    ├─ next-tick@1.0.0
    ├─ node-gyp@3.8.0
    ├─ node-libs-browser@2.1.0
    ├─ node-pre-gyp@0.10.3
    ├─ node-sass@4.9.4
    ├─ nopt@3.0.6
    ├─ normalize-url@1.9.1
    ├─ npm-bundled@1.0.5
    ├─ npm-packlist@1.1.12
    ├─ npm-run-path@2.0.2
    ├─ npmlog@4.1.2
    ├─ oauth-sign@0.9.0
    ├─ object-copy@0.1.0
    ├─ onecolor@3.1.0
    ├─ optimize-css-assets-webpack-plugin@3.2.0
    ├─ os-browserify@0.3.0
    ├─ os-locale@2.1.0
    ├─ os-tmpdir@1.0.2
    ├─ osenv@0.1.5
    ├─ p-finally@1.0.0
    ├─ p-limit@1.3.0
    ├─ p-locate@2.0.0
    ├─ p-try@1.0.0
    ├─ pako@1.0.6
    ├─ parallel-transform@1.1.0
    ├─ pascalcase@0.1.1
    ├─ path-browserify@0.0.0
    ├─ path-complete-extname@1.0.0
    ├─ path-dirname@1.0.2
    ├─ path-exists@2.1.0
    ├─ path-key@2.0.1
    ├─ path-parse@1.0.6
    ├─ path-type@1.1.0
    ├─ performance-now@2.1.0
    ├─ pinkie@2.0.4
    ├─ pixrem@4.0.1
    ├─ pkg-dir@2.0.0
    ├─ pleeease-filters@4.0.0
    ├─ posix-character-classes@0.1.1
    ├─ postcss-apply@0.8.0
    ├─ postcss-attribute-case-insensitive@2.0.0
    ├─ postcss-calc@6.0.2
    ├─ postcss-color-function@4.0.1
    ├─ postcss-color-gray@4.1.0
    ├─ postcss-color-hex-alpha@3.0.0
    ├─ postcss-color-hsl@2.0.0
    ├─ postcss-color-hwb@3.0.0
    ├─ postcss-color-rebeccapurple@3.1.0
    ├─ postcss-color-rgb@2.0.0
    ├─ postcss-color-rgba-fallback@3.0.0
    ├─ postcss-colormin@2.2.2
    ├─ postcss-convert-values@2.6.1
    ├─ postcss-cssnext@3.1.0
    ├─ postcss-custom-media@6.0.0
    ├─ postcss-custom-properties@6.3.1
    ├─ postcss-custom-selectors@4.0.1
    ├─ postcss-discard-comments@2.0.4
    ├─ postcss-discard-duplicates@2.1.0
    ├─ postcss-discard-empty@2.1.0
    ├─ postcss-discard-overridden@0.1.1
    ├─ postcss-discard-unused@2.2.3
    ├─ postcss-filter-plugins@2.0.3
    ├─ postcss-font-family-system-ui@3.0.0
    ├─ postcss-font-variant@3.0.0
    ├─ postcss-image-set-polyfill@0.3.5
    ├─ postcss-import@11.1.0
    ├─ postcss-initial@2.0.0
    ├─ postcss-load-config@2.0.0
    ├─ postcss-loader@2.1.6
    ├─ postcss-media-minmax@3.0.0
    ├─ postcss-media-query-parser@0.2.3
    ├─ postcss-merge-idents@2.1.7
    ├─ postcss-merge-longhand@2.0.2
    ├─ postcss-merge-rules@2.1.2
    ├─ postcss-minify-font-values@1.0.5
    ├─ postcss-minify-gradients@1.0.5
    ├─ postcss-minify-params@1.2.2
    ├─ postcss-minify-selectors@2.1.1
    ├─ postcss-modules-extract-imports@1.2.1
    ├─ postcss-modules-local-by-default@1.2.0
    ├─ postcss-modules-scope@1.1.0
    ├─ postcss-modules-values@1.3.0
    ├─ postcss-nesting@4.2.1
    ├─ postcss-normalize-charset@1.1.1
    ├─ postcss-normalize-url@3.0.8
    ├─ postcss-ordered-values@2.2.3
    ├─ postcss-pseudo-class-any-link@4.0.0
    ├─ postcss-pseudoelements@5.0.0
    ├─ postcss-reduce-idents@2.4.0
    ├─ postcss-reduce-initial@1.0.1
    ├─ postcss-reduce-transforms@1.0.4
    ├─ postcss-replace-overflow-wrap@2.0.0
    ├─ postcss-selector-matches@3.0.1
    ├─ postcss-selector-not@3.0.1
    ├─ postcss-selector-parser@2.2.3
    ├─ postcss-svgo@2.1.6
    ├─ postcss-unique-selectors@2.0.2
    ├─ postcss-values-parser@1.5.0
    ├─ postcss-zindex@2.2.0
    ├─ prepend-http@1.0.4
    ├─ private@0.1.8
    ├─ process-nextick-args@2.0.0
    ├─ process@0.11.10
    ├─ promise-inflight@1.0.1
    ├─ prr@1.0.1
    ├─ pseudomap@1.0.2
    ├─ psl@1.1.29
    ├─ public-encrypt@4.0.3
    ├─ pump@2.0.1
    ├─ pumpify@1.5.1
    ├─ punycode@1.4.1
    ├─ q@1.5.1
    ├─ qs@6.5.2
    ├─ query-string@4.3.4
    ├─ querystring-es3@0.2.1
    ├─ querystring@0.2.0
    ├─ randomfill@1.0.4
    ├─ rc@1.2.8
    ├─ read-cache@1.0.0
    ├─ read-pkg@1.1.0
    ├─ readdirp@2.2.1
    ├─ redent@1.0.0
    ├─ reduce-css-calc@1.3.0
    ├─ reduce-function-call@1.0.2
    ├─ regenerator-runtime@0.10.5
    ├─ regenerator-transform@0.10.1
    ├─ regexpu-core@1.0.0
    ├─ remove-trailing-separator@1.1.0
    ├─ repeat-element@1.1.3
    ├─ request@2.88.0
    ├─ require-from-string@2.0.2
    ├─ resolve-from@3.0.0
    ├─ resolve-url@0.2.1
    ├─ resolve@1.8.1
    ├─ ret@0.1.15
    ├─ rgb-hex@2.1.0
    ├─ rgb@0.1.0
    ├─ right-align@0.1.3
    ├─ rimraf@2.6.2
    ├─ run-queue@1.0.3
    ├─ safer-buffer@2.1.2
    ├─ sass-graph@2.2.4
    ├─ sass-loader@6.0.7
    ├─ sax@1.2.4
    ├─ scss-tokenizer@0.2.3
    ├─ semver@5.6.0
    ├─ set-value@2.0.0
    ├─ setimmediate@1.0.5
    ├─ shallow-clone@1.0.0
    ├─ shebang-command@1.2.0
    ├─ shebang-regex@1.0.0
    ├─ simple-swizzle@0.2.2
    ├─ slash@1.0.0
    ├─ snapdragon-node@2.1.1
    ├─ snapdragon-util@3.0.1
    ├─ sort-keys@1.1.2
    ├─ source-map-resolve@0.5.2
    ├─ source-map-support@0.4.18
    ├─ source-map-url@0.4.0
    ├─ spdx-correct@3.0.2
    ├─ spdx-exceptions@2.2.0
    ├─ split-string@3.1.0
    ├─ sprintf-js@1.0.3
    ├─ sshpk@1.15.2
    ├─ ssri@5.3.0
    ├─ static-extend@0.1.2
    ├─ stdout-stream@1.4.1
    ├─ stream-browserify@2.0.1
    ├─ stream-each@1.2.3
    ├─ stream-http@2.8.3
    ├─ strict-uri-encode@1.1.0
    ├─ string_decoder@1.1.1
    ├─ strip-bom@2.0.0
    ├─ strip-eof@1.0.0
    ├─ strip-indent@1.0.1
    ├─ strip-json-comments@2.0.1
    ├─ style-loader@0.21.0
    ├─ supports-color@5.5.0
    ├─ svgo@0.7.2
    ├─ tar@2.2.1
    ├─ through2@2.0.3
    ├─ timers-browserify@2.0.10
    ├─ to-arraybuffer@1.0.1
    ├─ to-fast-properties@1.0.3
    ├─ to-regex-range@2.1.1
    ├─ tough-cookie@2.4.3
    ├─ trim-newlines@1.0.0
    ├─ trim-right@1.0.1
    ├─ true-case-path@1.0.3
    ├─ tty-browserify@0.0.0
    ├─ tunnel-agent@0.6.0
    ├─ tweetnacl@0.14.5
    ├─ typedarray@0.0.6
    ├─ uglify-es@3.3.9
    ├─ uglify-js@2.8.29
    ├─ uglify-to-browserify@1.0.2
    ├─ uglifyjs-webpack-plugin@1.3.0
    ├─ union-value@1.0.0
    ├─ unique-filename@1.1.1
    ├─ unique-slug@2.0.1
    ├─ units-css@0.4.0
    ├─ unset-value@1.0.0
    ├─ upath@1.1.0
    ├─ uri-js@4.2.2
    ├─ urix@0.1.0
    ├─ url@0.11.0
    ├─ use@3.1.1
    ├─ util-deprecate@1.0.2
    ├─ util@0.10.4
    ├─ uuid@3.3.2
    ├─ validate-npm-package-license@3.0.4
    ├─ vendors@1.0.2
    ├─ verror@1.10.0
    ├─ viewport-dimensions@0.2.0
    ├─ vm-browserify@0.0.4
    ├─ watchpack@1.6.0
    ├─ webpack-manifest-plugin@1.3.2
    ├─ webpack@3.12.0
    ├─ whet.extend@0.9.9
    ├─ which-module@2.0.0
    ├─ wide-align@1.1.3
    ├─ window-size@0.1.0
    ├─ wordwrap@0.0.2
    ├─ worker-farm@1.6.0
    ├─ wrap-ansi@2.1.0
    ├─ xtend@4.0.1
    ├─ yallist@3.0.2
    ├─ yargs-parser@7.0.0
    └─ yargs@8.0.2
    ✨  Done in 250.35s.
    Installing dev server for live reloading
             run  yarn add --dev webpack-dev-server@2.11.2 from "."
    yarn add v1.12.1
    [1/4] 🔍  Resolving packages...
    [2/4] 🚚  Fetching packages...
    [3/4] 🔗  Linking dependencies...
    warning "@rails/webpacker > postcss-cssnext@3.1.0" has unmet peer dependency "caniuse-lite@^1.0.30000697".
    warning " > webpack-dev-server@2.11.2" has unmet peer dependency "webpack@^2.2.0 || ^3.0.0".
    warning "webpack-dev-server > webpack-dev-middleware@1.12.2" has unmet peer dependency "webpack@^1.0.0 || ^2.0.0 || ^3.0.0".
    [4/4] 📃  Building fresh packages...
    success Saved lockfile.
    success Saved 112 new dependencies.
    info Direct dependencies
    └─ webpack-dev-server@2.11.2
    info All dependencies
    ├─ accepts@1.3.5
    ├─ ansi-html@0.0.7
    ├─ array-flatten@1.1.1
    ├─ array-includes@3.0.3
    ├─ array-union@1.0.2
    ├─ array-uniq@1.0.3
    ├─ batch@0.6.1
    ├─ body-parser@1.18.3
    ├─ bonjour@3.5.0
    ├─ buffer-indexof@1.1.1
    ├─ compressible@2.0.15
    ├─ compression@1.7.3
    ├─ connect-history-api-fallback@1.5.0
    ├─ content-disposition@0.5.2
    ├─ cookie-signature@1.0.6
    ├─ cookie@0.3.1
    ├─ deep-equal@1.0.1
    ├─ define-properties@1.1.3
    ├─ del@3.0.0
    ├─ destroy@1.0.4
    ├─ detect-node@2.0.4
    ├─ dns-equal@1.0.0
    ├─ dns-packet@1.3.1
    ├─ dns-txt@2.0.2
    ├─ ee-first@1.1.1
    ├─ es-abstract@1.12.0
    ├─ es-to-primitive@1.2.0
    ├─ eventemitter3@3.1.0
    ├─ eventsource@0.1.6
    ├─ expand-range@1.8.2
    ├─ express@4.16.4
    ├─ faye-websocket@0.10.0
    ├─ filename-regex@2.0.1
    ├─ finalhandler@1.1.1
    ├─ follow-redirects@1.5.9
    ├─ forwarded@0.1.2
    ├─ glob-base@0.3.0
    ├─ globby@6.1.0
    ├─ handle-thing@1.2.5
    ├─ has-symbols@1.0.0
    ├─ hpack.js@2.1.6
    ├─ html-entities@1.2.1
    ├─ http-deceiver@1.2.7
    ├─ http-errors@1.6.3
    ├─ http-parser-js@0.5.0
    ├─ http-proxy-middleware@0.17.4
    ├─ http-proxy@1.17.0
    ├─ import-local@1.0.0
    ├─ internal-ip@1.2.0
    ├─ ip@1.1.5
    ├─ ipaddr.js@1.8.0
    ├─ is-callable@1.1.4
    ├─ is-date-object@1.0.1
    ├─ is-dotfile@1.0.3
    ├─ is-equal-shallow@0.1.3
    ├─ is-path-cwd@1.0.0
    ├─ is-path-in-cwd@1.0.1
    ├─ is-path-inside@1.0.1
    ├─ is-posix-bracket@0.1.1
    ├─ is-primitive@2.0.0
    ├─ is-regex@1.0.4
    ├─ is-symbol@1.0.2
    ├─ is-wsl@1.1.0
    ├─ json3@3.3.2
    ├─ killable@1.0.1
    ├─ loglevel@1.6.1
    ├─ math-random@1.0.1
    ├─ media-typer@0.3.0
    ├─ merge-descriptors@1.0.1
    ├─ methods@1.1.2
    ├─ mime@1.6.0
    ├─ multicast-dns-service-types@1.1.0
    ├─ multicast-dns@6.2.3
    ├─ negotiator@0.6.1
    ├─ node-forge@0.7.5
    ├─ object-keys@1.0.12
    ├─ object.omit@2.0.1
    ├─ obuf@1.1.2
    ├─ on-headers@1.0.1
    ├─ opn@5.4.0
    ├─ original@1.0.2
    ├─ p-map@1.2.0
    ├─ parse-glob@3.0.4
    ├─ path-is-inside@1.0.2
    ├─ path-to-regexp@0.1.7
    ├─ portfinder@1.0.19
    ├─ preserve@0.2.0
    ├─ proxy-addr@2.0.4
    ├─ querystringify@2.1.0
    ├─ randomatic@3.1.1
    ├─ raw-body@2.3.3
    ├─ regex-cache@0.4.4
    ├─ resolve-cwd@2.0.0
    ├─ select-hose@2.0.0
    ├─ selfsigned@1.10.4
    ├─ serve-index@1.9.1
    ├─ serve-static@1.13.2
    ├─ sockjs-client@1.1.4
    ├─ sockjs@0.3.19
    ├─ spdy-transport@2.1.1
    ├─ spdy@3.4.7
    ├─ thunky@1.0.3
    ├─ time-stamp@2.2.0
    ├─ unpipe@1.0.0
    ├─ url-parse@1.4.3
    ├─ utils-merge@1.0.1
    ├─ wbuf@1.7.3
    ├─ webpack-dev-middleware@1.12.2
    ├─ webpack-dev-server@2.11.2
    ├─ websocket-extensions@0.1.3
    ├─ yargs-parser@4.2.1
    └─ yargs@6.6.0
    ✨  Done in 10.85s.
    You need to allow webpack-dev-server host as allowed origin for connect-src.
    This can be done in Rails 5.2+ for development environment in the CSP initializer
    config/initializers/content_security_policy.rb with a snippet like this:
    policy.connect_src :self, :https, "http://localhost:3035", "ws://localhost:3035" if Rails.env.development?
    Webpacker successfully installed 🎉 🍰
             run  bundle exec spring binstub --all
    * bin/rake: spring inserted
    * bin/rails: spring inserted
  21. 最後のメッセージに書かれているように config/initializers/content_security_policy.rb に以下の行を追加する
  22. Rails.application.config.content_security_policy do |policy|
      policy.connect_src :self, :https, "http://localhost:3035", "ws://localhost:3035" if Rails.env.development?
    end

かなり長くなってしまったので,今日はここまで