개발
Dev: Laravel 6.x
라라벨 npm run prod 실패 문제 해결
36 views as of December 6, 2024.
Webpack 마무리 중 문제 발생
어느정도 반복적인 스크립트, 스타일 작업이 완료되고 배포판으로 스크립트와 스타일을 재 패키징 하기위해 서버에 아래와 같이 명령어를 적었다.
npm run prod
Copy
기존의 dev나 watch와 다르게 위의 명령어는 압축, 난독화까지 진행해주는 정말 애플리케이션 배포를 위한 마지막 웹팩 작업이다.
근데 갑자기 아래와 같은 에러가 뜨면서 안되는것이 아닌가...
$ npm run prod
> prod
> npm run production
> production
> cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js
[webpack-cli] Error: Unknown option '--no-progress'
[webpack-cli] Run 'webpack --help' to see available commands and options
Copy
먼저 GPT에게 물어봤다
뭐 요즘 뭐 안되면 GPT에게 물어보는게 첫 단추라 물어보니 webpack 버전 문제에 따른 파라미터 미지원 문제라고한다.
위 에러 로그에서도 볼 수 있듯이
--no-progress
이 부분의 명령어가 사라진듯 싶었다.나도 모르는사이에 노드 패키지가 업데이트 되었나? 싶어서 버전을 확인해보니...
$ npm list webpack-cli
web@ /var/www/web
└─┬ laravel-mix@6.0.49
└─┬ webpack-cli@4.10.0
├─┬ @webpack-cli/configtest@1.2.0
│ └── webpack-cli@4.10.0 deduped
├─┬ @webpack-cli/info@1.5.0
│ └── webpack-cli@4.10.0 deduped
└─┬ @webpack-cli/serve@1.7.0
└── webpack-cli@4.10.0 deduped
Copy
딱히 버전상 문제는 안보였다.
당연히 GPT는 버전문제라고 자꾸 업뎃하라고 시키는데, 구버전 프레임워크와 패키지를 쓰는 개발자에게 업데이트란 다른 문제를 낳는 미친행위임을 잘 알기때문에 어떻게든 우회방법이 없나 검색을 통해 알아보기 시작했다.
명령어 변경해 문제해결
해답은 일본 개발자 사이트인 qiita.com 에서 발견했다.
나랑 같은 에러메시지와 문제가 발생한 상황이고 Laravel Mix 6 에서 몇가지 파라미터 옵션이 삭제되었는데
package.json
에는 그 내용이 남아있어서 발생하는 문제라고 한다.루트 폴더에 위치한 package.json을 열만 아래와 같이 상단에 터미널에 입력가능한 npm script를 정의하고있는데,
"scripts": {
"dev": "npm run development",
"development": "cross-env NODE_ENV=development node_modules/webpack/bin/webpack.js --progress --config=node_modules/laravel-mix/setup/webpack.config.js",
"watch": "npm run development -- --watch",
"watch-poll": "npm run watch -- --watch-poll",
"hot": "cross-env NODE_ENV=development node_modules/webpack-dev-server/bin/webpack-dev-server.js --inline --hot --config=node_modules/laravel-mix/setup/webpack.config.js",
"prod": "npm run production",
"production": "cross-env NODE_ENV=production node_modules/webpack/bin/webpack.js --no-progress --config=node_modules/laravel-mix/setup/webpack.config.js"
},
Copy
위의 스크립트 내용을 아래와 같이 변경해주면 된다.
"scripts": {
"dev": "npm run development",
"development": "mix",
"watch": "mix watch",
"watch-poll": "mix watch -- --watch-options-poll=1000",
"hot": "mix watch --hot",
"prod": "npm run production",
"production": "mix --production"
},
Copy
혹시나 몰라서 기존의 dev, watch도 시도해보니 위의 새로운 명령어로도 webpack이 정상작동함을 확인했다.
끝
[npm]npm run prodに失敗する - Qiita
はじめに現在、Web系自社開発企業への転職を目標にポートフォリオを作成中。Dockerを活用してLEMP環境を構築し、Laravel+VuejsでWebアプリケーションの開発を行っております。…
https://qiita.com/NULL_000000/items/1f7f28d7cb8d966ec4af
#Laravel
0
개의 댓글
Dev: Laravel 6.x 콜렉션의 다른 글
개발 카테고리의 다른 글
12/09
구글 폰트 다운받아 로컬 호스팅 하기
웹 폰트우리가 웹 사이트를 구축하고 퍼블리싱 하는 과정에서 가장 처음 맞딱트리는 존재가 폰트에 관한것이다. 예전 웹사이트야...
11/26
말풍선 짤 편집기 사이트 제작
왜 만든거에요?이미지위에 대사나 글씨를 적고싶으면 일반적으로 이미지 편집기(그림판, 포토샵 등)를 통해 작업을 진행하곤 한...
11/26
라라벨 릴레이션 디폴트 모델 지정
라라벨을 사용하다보면 모델(Model)간의 관계(Relation)를 자주 사용한다. Laravel - The PHP Framework For Web ArtisansLarave...