【Rails6】Webpacker::Manifest::MissingEntryError 를 해소한다

1.사용 환경



  • mac.os Catalina 버전 10.15.7
  • Ruby 3.0.1
  • Rails 6.0.4.1
  • psql (PostgreSQL) 13.4
  • node 16.10.0
  • npm 7.24.0


  • 2. 실제 오류



    Webpacker can't find application in ...
    Webpacker가 파일을 찾을 수 없기 때문입니다.

    Webpacker란 간단하게 말하면 Ruby on Rails상에서 JavaScript 개발을 하기 위해서 필요한 파일의 정리입니다.
    Node.js에서 서버 측에서 움직입니다.



    3. 시도한 것



    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>을 삭제하면 오류가 사라지지만 javascript를 읽을 수 없습니다.

    app/views/layouts/application.html.erb
    <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
    <%= javascript_pack_tag 'application', 'data-turbolinks-track': 'reload' %>
    

    4. 결과



    node -v16.10.0에서 node -v14.18.0
    로 다운 그레이드하고 새 앱을 만들 때 해결되었습니다.

    node 최신 안정 버전으로 업그레이드
    sudo n stable
    

    특정 버전으로 변경
    sudo n 14.18.0
    

    분명한 이유는 모르겠지만
    제 경우에는 노드 버전이 원인이었습니다.

    참고

    node의 version은 여기의 기사를 참고로 했습니다.

    좋은 웹페이지 즐겨찾기