이전 포스팅 puppeteer 활용해서 웹크롤링에 대해서
웹크롤링은 업무적으로도 필요한 경우가 있습니다
그리고 배우는 것만으로도 충분히 재미를 느낄 수 있다고 생각합니다
그리고 웹크롤링은 비동기식으로 해결해야 해서 Promise를 자주 쓰며 async, await도 자주 활용합니다
그래서 이 개념을 잡는 공부도 가능하니 꼭 한번 공부해보세요
더 자세한 사항이 궁금하다면 아래의 링크를 클릭하시면 됩니다
2022.08.20 - [IT_Web/Nodejs] - nodejs 웹 크롤링을 Puppeteer 및 Promise 활용 완벽 파헤치고 CSV 파일 쓰기
npm이란?
Node Package Manager의 약자로 여러 사람들이 만든 모듈을 모아둔 저장소입니다
npm에 저장된 모듈을 프로젝트 내에서 설치를 하여 간편하게 구현이 가능합니다
이러한 모듈들이 오픈 소스 생태계를 만들고 있습니다
이 모듈은 노드로 구성되어 있으며,
그것을 패키지라 명합니다.
npm 활용 패키지 설치하기
npm i [패키지] / npm i -g [패키지] / npm i -D [패키지]
위 3가지 설치 방법이 있습니다
각기 다른 방법은 저장 위치가 다르며 그 사용법도 조금씩 다르게 구성됩니다
첫 번째 방법으로 설치하면 dependencies 저장되어 json 형태로 패키 지명이 입력됩니다
그래서 어떤 패키지가 설치되었는지 확인이 가능합니다
-D: 설치된 패키지는 개발에서만 사용될 수 있도록 devDependencies에 분리되어 관리가 됩니다
-g: 글로벌 설치를 하면 dependencies와 devDependencies에서 설치된 이력을 찾을 수 없고
사용할 경우에도 npm을 붙여서 사용하기보다는 패키지명만 커맨드 창에 입력하면 사용할 수 있습니다
하지만 패키지를 커맨드 창에서 입력해 사용하는 일은 많이 없습니다
그래서 설치 이력에도 안 남아서 관리인원이 변경되면 유지 보수하기에 많은 어려움이 있기 때문에
최근에는 많이 사용하지 않는 추세입니다
그리고 npm init을 하고 설치를 하면 아래와 같이 파일 구조가 형성됩니다
node_modules는 패키지가 설치되면 그 관련 모듈들이 설치되어
그 파일들의 패키지명이 나열되어있는 것을 확인할 수 있습니다
또한
package-lock.json이라는 파일을 확인할 수 있습니다
그 파일은 패키지의 버전들이 고정되어 관리하는 파일
npm에서 패키지 버전 관리 SemVer(유의적 버저닝) 방식에 대하여
Major(주 버전), Minor(부 버전), Patch(수 버전)의 형태로 버전이 관리된다
아래와 같이 버전이 관리되어있다면
express : "^4.18.1"
Major 버전인 4에 해당하는 위치의 수는
어떠한 수정으로 하위 버전과 호환이 안될 경우 버전이 올라갑니다
Minor 버전인 18에 해당하는 위치의 수는
어떠한 수정으로 하위 버전과 호환이 되는 경우 버전이 올라갑니다
Patch 버전인 1에 해당하는 위치의 수는
기능에 버그를 해결했을 때 올라갑니다
버전 기호 사용법
이쯤 되면 "^" 이러한 기호가 궁금증을 유발합니다
^4.18.1: 패키지 업데이트 시 Minor 버전까지만 업데이트됩니다
즉, Major는 고정되고 그 이하 버전만 업데이트됩니다.
~4.18.1: 패키지 업데이트 시 Patch 버전까지만 업데이트됩니다.
즉, Minor이상은 고정되고 그 이하 버전만 업데이트됩니다.
그리고 <=, >=, <, >는 이상, 이하, 초과, 미만으로 사용할 수 있습니다
하지만 사용하지 않습니다
알파/베타/RC 버전이 존재할 수도 있습니다
(1.1.1-alpha.0, 2.0.0-beta.1, 2.0.0-rc.0)
설치할 때 버전을 지정해서 설치할 수 있습니다
npm i express@3.6.2
@latest는 최신을 의미합니다
그래서 아래와 같이 사용할 수 있습니다
npm i express@latest
npm 명령어 알아보기
npm outdated를 커맨드 창에 입력합니다
아래와 같이
현재 버전과 현재 상용 버전 그리고 최신 버전이 함께 노출됩니다
그럼 버전을 확인한 다음에
package.json에 패키지의 버전을 변경하여
npm update를 하게 되면 버전이 반영됩니다
버전 관리 방법은 이외에도 npm-check를 사용하면 조금 더 편하게 버전을 관리할 수 있습니다
npm i -g npm-check으로 패키지를 설치합니다
npm-check를 입력하면
아래의 화면처럼 노출이 됩니다
MAJOR UP / NOTUSED? / NEW_VER! / MINOR UP / PKG ERR 등으로
패키지 버전 상태를 체크할 수 있습니다
그리고 버전을 간편하게 업데이트하는 방법도 있습니다
npm-check -u를 입력하게 되면 아래와 같은 화면이 노출되면서 버전을 관리할 수 있습니다
스페이스 바를 누르면 (*) 패키지가 선택되며 최종적으로 엔터키를 누르면
아래의 상용 버전으로 업데이트가 됩나다
아래의 버전을 업데이트하는 모습입니다
그리고 업데이트 결과를 보여주며 업데이트가 끝이 나게 됩니다
npm uninstall [패키 지명]: 패키지를 삭제하는 명령어입니다
npm search 검색어: npm 패키지에서 검색할 수 있는 사항들을 검색할 수 있습니다
npm info [패키 지명]으로 패키지의 정보를 확인할 수 있습니다
패키지를 만든 개발자 메일과 현재 상용 배포된 버전 상태
현재 패키지와 연관되어 있는 패키지 정보도 알 수 있습니다
키워드로 expo가 보입니다 npm search [keyword]로 검색 정보를 위와 같이 얻을 수 있습니다
npm ls는 프로젝트 내에
어떤 패키지를 사용하고 있는지 트리구조로 볼 수 있습니다
아래와 같이 노출됩니다
이렇게 npm에 대해서 알아보았습니다
프로젝트를 진행하면서 npm에 대해서 제대로 모르고 사용한 것은 아닌가 하고 생각하게 되었습니다
이번 기회에 조금 더 깊이 알아보았으니 더 활용해보아야겠네요
그럼 오늘 추석인데도 불구하고 블로그를 쓰는 저에게 칭찬을 주며
IT 대모험은 끝나지 않음을 확인하였습니다
그럼 모두들 즐거운 추석 되시고
다음 글에서 뵙겠습니다
'IT_Web > Nodejs' 카테고리의 다른 글
Node에서 express 서버 미들웨어 적용하기 그리고 middleware를 쓰는 이유가 뭘까?? (0) | 2022.09.15 |
---|---|
Node활용해서 express 서버로 HTML 노출 및 서빙하기 (0) | 2022.09.14 |
웹 크롤링 puppeteer 파일 업로드 및 로그인 유지 설정하기 (0) | 2022.09.06 |
웹 크롤링 puppeteer로 mysql 및 sequelize 활용하여 DB연동하기 (0) | 2022.09.03 |
웹 크롤링 puppeteer 프록시 IP 적용하기 그런데 대체 프록시 란? 뭘까? (1) | 2022.09.02 |