:command not found

Jiwon Yoo·2023년 3월 20일
0

프론트엔드

목록 보기
16/38

프로젝트 세팅 프로세스

프로젝트 세팅 프로세스는 프로젝트 마다, 작업자 마다 상이할 것이다. 부트캠프를 듣고 있는 지금, 과제 수행을 위한 가장 보편적인 세팅 방법은 이렇다.

  1. 프로젝트를 fork 받고
  2. 원하는 디렉토리에 clone을 받는다.
  3. 터미널을 실행해 npm init
  4. 필요한 패키지들을 npm install을 통해 설치한다.

오늘도 평소와 다름없이 했지만 명령어를 입력하니 'jest:command not found'가 뜨며 테스트 명령어가 실행이 되지 않았다. 다시 npm init을 하고 패키지들을 설치해도 똑같은 상황. package.json 파일의 npm run 명령어가 어떤 방식으로 실행되는지 찾아봤다.

npm run 명령어 원리

{
    "name": "fe-sprint-async-and-promise",
    "version": "1.0.0",
    "description": "",
    "main": "index.js",
    "scripts": {
        "test:part-2": "jest --runInBand part-2/__test__/**.test.js",
        "server:part-3": "node part-3/__test__/app.js",
        "report": "jest --runInBand part-2/__test__/**.test.js --json --outputFile=report.jest.json",
        "submit": "codestates"
    }
}

test:part-2 스크립트를 풀어쓰면 jest 패키지의 --runInBand CLI 옵션을 실행한다는 뜻이다. 실행할 jest 패키지는 node_modules/.bin 디렉토리 안에 있다.

//둘 다 같은 결과가 실행된다.
npm run test:part-2
node node_modules/.bin/jest --runInBand part-2/__test__/**.test.js

아직도 왜 명령어가 제대로 실행되지 않는지 원인을 파악하지 못했다. 그래도 과제를 수행할 수 있는 임시방편을 찾아냈다. 다시 클론 받아서 세팅을 해봐야겠다.

profile
새싹 개발자 🌱

0개의 댓글