Webpacker란(Rails6에서 rails s 하고 에러가 나왔을 때의 이야기)

Rails6에서 새 앱을 만들려고하고 데이터베이스를 만든 후
rails s에서 서버를 시작하려고했는데 다음과 같은 오류가 발생했습니다.
$ rails s
=> Booting Puma
=> Rails 6.0.3.3 application starting in development 
=> Run `rails server --help` for more startup options
Exiting
Traceback (most recent call last):
    77: from bin/rails:3:in `<main>'
    76: from bin/rails:3:in `load'
          ・
          ・
          ・
Webpacker configuration file not found /Users/<ユーザー名>/<アプリ名>/config/webpacker.yml.
Please run rails webpacker:install
Error: No such file or directory @ rb_sysopen - 
/Users/<ユーザー名>/<アプリ名>/config/webpacker.yml (RuntimeError)

"Webpacker 구성 파일을 찾을 수 없습니다."
/config/webpacker.yml이 있어야합니다 (없습니다).

Webpacker란?



자바스크립트의 빌드 툴인 "Webpack"의 래퍼로 Rails 애플리케이션에서 Webpack을 사용하여 자바스크립트를 쉽게 관리할 수 있는 Gem
현장에서 사용할 수 있는 Ruby on Rails5 속습 실천 가이드

나는 「Rails로 JavaScript를 사용할 수 있도록 하기 위해 여러가지 좋게 해 주는 Gem」이라고 이해했습니다・・・.
(이 근처의 이해는 앞으로 깊어져 가면.)

또한 Rails 가이드 v6.0에 따르면 "Webpacker가 Rails 6의 기본 JavaScript 컴파일러가된다"고,
rails new 한 시점에서 'gem 'webpacker''가 Gemfile에 작성된 이유를 알 수 있습니다.
이전에는 Sprockets(스프로켓츠)라는 것이 JavaScript의 표준 빌드 툴이 되고 있었던 것 같습니다.

rails webpacker:install 시도



왜 Gemfile에 쓰고 있었는데 Webpacker가 설치되어 있지 않다고 생각하는 곳입니다만,
어른스럽게 「rails webpacker:install」해 보면
$ rails webpacker:install
Yarn not installed. Please download and install Yarn from https://yarnpkg.com/lang/en/docs/install/

"Yarn이 설치되지 않았습니다."라고 말했습니다.
이 때문에 rails new했을 때 Webpacker가 설치되지 않았을 것입니다.

Yarn이란?



자바 스크립트 패키지 관리자.
아래의 기사가 알기 쉬웠습니다.
자바스크립트 패키지 관리자 npm과 Yarn에 대해 설명합니다!

Yarn 설치


$ brew install yarn

rails webpacker : install을 다시 시도하십시오.


$ rails webpacker:install
      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
          ・
          ・
          ・
Webpacker successfully installed 🎉 🍰

안전하게 Webpacker를 설치할 수있었습니다.

다시 rails s 시도




오류를 피할 수 있었습니다.

다음 번 예고



webpacker의 작동 방식

참고로했습니다.



Rails6 Webpacker에서 오류가 발생했습니다.

좋은 웹페이지 즐겨찾기