ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • #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을 실행해주시면 두 번째 문제도 쉽게 해결 할  수  있습니다.

     

Designed by Tistory.