Programing

npm 스크립트를 실행할 때 출력을 억제하는 방법

lottogame 2020. 11. 14. 09:43
반응형

npm 스크립트를 실행할 때 출력을 억제하는 방법


npm 스크립트를 빌드 도구로 실험하기로 결정했으며 지금까지 좋아합니다. 내가 해결하고 싶은 한 가지 문제는 무언가가 linting을 통과하지 못할 때 jshint를 실행하는 스크립트를 실행할 때 "npm ERR!" 윤곽. linter의 출력이 더 의미가 있으므로 이것을 억제하고 싶습니다.

이것을 전역 적으로 설정하는 좋은 방법이 있으며 각 스크립트 실행에 대해 설정하는 방법이 있습니까?


모든 스크립트 :

다음 silent과 같은 몇 가지 방법으로 로그 수준을로 설정하여 전체적으로 npm의 출력을 억제하여이 문제를 해결할 수 있습니다 .

npm run호출에서 :

npm run --silent <your-script>

또는 다음과 같이 .npmrc파일 (이 파일은 프로젝트 디렉토리 또는 홈 폴더에있을 수 있음) 을 생성하여 전역 적으로 :

loglevel=silent

자원:

npm 로그 수준 구성 : https://docs.npmjs.com/misc/config#loglevel

npmrc : https://docs.npmjs.com/misc/config#loglevel

개별 스크립트 :

linting과 같은 특정 스크립트에서이 문제를 해결하는 데 사용한 간단한 트릭 || true은 이러한 스크립트의 끝에 추가 하는 것입니다. 이것은 npm 구성 변경없이 작동합니다.

이렇게하면 스크립트가 항상 0상태로 종료됩니다 . 이것은 npm이 스크립트가 성공했다고 생각하도록 속여 ERR메시지를 숨 깁니다 . 더 명확하게하려면 || exit 0대신 추가 할 수 있으며 동일한 결과를 얻을 수 있습니다.

{
  "scripts": {
    "lint": "jshint || true",
   }
}

다음 --quiet같이 --silent옵션을 모두 사용할 수 있어야합니다 .

npm install --quiet

--quietstderr 및 경고를 표시하고 --silent거의 모든 것을 억제해야합니다.

다음 /dev/null과 같이 stdout / stderr을로 보낼 수도 있습니다 .

npm install > "/dev/null" 2>&1

또는 덜 versbose

npm install &> /dev/null

npm install --quiet --no-progress 

경고 및 오류를 유지하고이를 지원하는 터미널에서 ADHD 진행률 표시 줄을 표시하지 않습니다.

참고 URL : https://stackoverflow.com/questions/34426332/how-to-suppress-output-when-running-npm-scripts

반응형