-
#TIL_과제하다가 뇌절하고 써보는 nodemon오류에 관하여?.?TIL (Today I Learned) 2023. 11. 15. 00:33
# 노태식(nodemon)이 너냐?
nodemon은 노드 서버를 자동으로 열고 닫아주는 간편한 친구입니다. node.js를 매번 onoffon 할 필요없이 번거로운 작업을 줄여주는 아주 귀여운 친구이기 때문에 사용할 것을 적극적으로 권장드립니다.
# 오늘도 평화로운 하루를 보내며 열씨미 과제를 하던 중 Nodemon이라는 것을 접하게 되어 실행해보기로 했습니다.
# 우선 vsc를 켜고 파일을 만들어 npm을 다운 받습니다.
npm i nodemon
package.json에서도 설치가 잘 되었는지 눈 도장 찍어줍니다.
혹시나 했는데 역시나 잘 설치가 되어있습니다. 근데 막상 nodemon 요놈을 실행하면 작동을 안하게 될 겁니다. 저도 처음에 작동을 안해서 당황했었는데 한번 찬찬히 보여드리겠습니다.
# nodemon 설치가 완료되고 테스트 전 node.js를 실행해줍니다.
node app.js
보시는 것과 같이 nodemon 테스트전 한 번 찍어보고 싶었습니다.ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ
# 그럼 노드몬을 실행해 줍니다.
어??????????????!!!!!!!!!!!! 이게 아니지 말입니다......예상과 다르게 실행이 됩니다???!!! 오늘 포스팅 이렇게 끝나는 걸까요?
엌ㅋㅋㅋㅋㅋ정상 작동이 됩니다. 정말 당황스럽지만 이전 파일에서 설정한 값이 이미 있어서 문제없이 작동하는 것 같습니다. 어쩔 수 없이 사진첩을 뒤적이며 이전에 찍어놓았던 사진을 찾았습니다.
1번째 Powershell 보안 오류시
2번째 이름 및 경로를 인식 못할 때
처음 작업하시면 이렇게 빨간 글씨가 뜨면서 프로그램으로 인식하지 않는다고 경고를 할 겁니다. 오류를 해결하기 위해 열심히 찾아봤던 내용을 다시 정리해보겠습니다.
# nodemon을 해결하는 첫 번째 방법! (Powershell 보안 오류시 )
1. 시작페이지에서 검색으로 powerShell을 찾아서 관리자 권한으로 실행해줍니다.
2. 관리자 권한으로 실행 후 1. executionpolicy를 입력해줍니다.
입력 후 Restricted가 나오면 보안 문제가 맞습니다. 자신이 허가한 스크립트만 powerShell 관리자 권한에서 실행할 수 있는데 nodemon처럼 근본이 없는 스크립트는 powerShell에서 막는다고 합니다.
위에 사진은 이미 해결한 상태라서 빨간 글씨로 다시 표시했습니다.
3. set-executionpolicy unrestricted를 입력해줍니다. 그러면 실행 규칙을 변경해 줄 수 있습니다. 그러면 nodemon 같이 보안상으로 오류가 생기는 스크립트를 쉽게 실행시킬 수 있습니다.
4. Y를 입력하고 Enter를 눌줍니다.
5. 다시 VSC로 돌아와서 nodemon.js를 실행해줍니다. 정상적으로 실행이되면 코드를 변경하는 순간 nodemon이 서버를 재 시작해줍니다.
# nodemon을 해결하는 두 번째 방법! (이름 및 경로를 인식 못할 때 )
1. nodemon 설치시 기존 명령어에 -dev 명령어를 붙여서 설치해줍니다.
npm i nodemon -dev
-dev는 developer 버전으로 로컬환경에서만 사용하겠다는 뜻입니다. packege.json 파일도 확인해보면 devDependencise 항목안에 우리의 커여운 노드몬이 들어가 있습니다 .
+++ 꿀 tip얻어가세요~!
만약 다운받은 npm 모듈을 삭제하고 싶다면? 기존 install 명령을 uninstall로 바꿔주시면 삭제를 할 수 있습니다.
npm uni nodemon -dev
2. packege.json에 들어가서 scripts 항목에 내용을 추가해줍니다.
"scripts": { "dev": "nodemon app.js", },
이후 nodemon을 실행 시키면 실행은 되는 것을 확인할 수 있습니다.
3. 다시 packege.json에 들어가서 scripts 항목에 which 명령어 내용을 추가해줍니다.
"scripts": { "dev": "nodemon app.js", "which": "which nodemon" },
which 명령어는 설정된 PATH를 조회하기에 packege.json scripts에 추가 설정을 했습니다.
요렇코롬 추가해주시고 다시 nodemon app을 실행해주시면 두 번째 문제도 쉽게 해결 할 수 있습니다.
'TIL (Today I Learned)' 카테고리의 다른 글
#TIL_npm, npx, yarn 고놈이 고놈 아닌가? 셋의 차이점을 빠르게 알아보자!.! (1) 2023.11.21 #TIL_RDS 인스턴스를 생성 안내서 (0) 2023.11.18 #TIL_미들웨어에 대하여 (1) 2023.11.14 #TIL_트랜잭션(Transaction)에 대하여 (0) 2023.11.10 #TIL_몽고디비(MongoDB) 설치 안내서 (0) 2023.11.09