본문 바로가기
TIL/코드스테이츠 TIL

코드스테이츠 소프트웨어엔지지어링 부트캠프 +10일

by 안뇽! 2021. 7. 28.
반응형

오늘 배운 것

1. 리눅스 기초 명령어

2. brew 설치

3. nvm 설치후 node.js 설치

4. npm과 package.json

5. node.js 이용하여 짝수 생성기 과제

 

리눅스 기초 명령어는 정리하여 글을 썼다.

https://wnsdufdl.tistory.com/26

 

리눅스 기초 명령어

리눅스 기초 명령어 pwd : 현재 위치 확인하기 터미널에서 폴더를 열거나 닫으면서 이동하면, 현재 위치가 헷갈릴 수 있다. 이때 pwd 를 입력하여 현재 작업중인 폴더의 위치를 출력할 수 있다. mkdi

wnsdufdl.tistory.com

 

brew, nvm, node.js 설치는 그냥 코드스테이츠 문서보고 따라하니까 잘 되었다.

남들은 에러가 떴는데 나는 운이좋아서인지 에러가 안떴다. 맥북이 최신형이라 그런가..?  여튼 다행이다

 

Node.js와 NVM, NPM 그리고 Package.json

Node.js

Node.js 를 통해 우리는 javascript 를 이용해 웹 뿐만 아니라 서버도 만들 수 있게 되었다.

CLI 에 node [파일 이름] 을 입력하면 작성한 코드가 node.js 라는 런타임에서 실행된다.

 

 

NVM (Node Version Manager) :

Node.js 의 버전관리자. Node.js 를 관리하는 툴이다.

개발을 하다보면 node.js의 다양한 버전에 대응해야 할 경우가 있다. 예를 들면 node 12.18.3 버전에서 짠 코드가 잘 동작하는데, node 14.15.5 버전에서는 에러가 생기는 경우가 있다. 이때 코드가 정상적인지 확인하기 위해 node 12.18.3 버전이 필요하다. NVM을 통해 간단한 명령어로 node를 설치하고 다양한 node version을 손쉽게 옮겨 다닐 수 있다.

NPM (Node Package Manager):

node.js 개발에 필요한 모듈들이 모여있는 모듈 스토어

npm 을 이용하면 Node.js 로 개발된 프로그램을 편리하게 사용할 수 있다.

 

NPM과 Package.json

package.json에는 프로그램을 실행시키기 위해 필요한 모듈들이 무엇인지, 실행시키는 방법, 테스트하는 방법 등이 명시되어 있다.

실제 모듈은 node_modules 라는 폴더에 저장되어 있고, package.json 에는 어떤 모듈인지 적혀만 있다.

 

해당 프로젝트의 레파지토리를 열어보면 node_modules는 없고, package.json만 있을 것이다.

package.json에서 필요하다고 하는 모듈을 npm을 통해 다운으면 된다.

npm install 명령어를 입력하면, package.json에서 필요하다고 하는 모듈을 다운받는다.

npm install이 완료되면 node_modules 디렉토리가 생긴 것을 확인할 수 있다.

이미지 출처 https://abbo.tistory.com/154    (ABBO 기술 블로그)

package.json

패키지는 package.json 으로 설명되는 파일 또는 디렉토리이다.

패키지는 npm 레지스트리에 공개되기 위해 반드시 package.json 파일을 갖고 있어야 한다.

 

package.json 에 명시되어 있는 정보는 크게 두가지로 나뉜다.

  • 프로젝트 정보 : name, version
  • 패키지 버전 정보 : dependencies , devDependencies

프로젝트 정보

프로젝트 정보는 고유성을 갖고 있다. 때문에 package.json 파일은 반드시 name과 version 을 포함해야 한다.

name : 소문자 단어 하나로 이루어져야 하며 하이픈(-), 언더바(_) 가 포함될 수 있다.

version : x.x.x 형식을 따라야 하며, 작성 규칙을 시맨틱 버저닝 이라고 한다.

 

패키지 정보

패키지 정보는 dependencies 또는 devDependencies에 작성된다.

dependencies : 운영서버에서 필요한 응용프로그램에 대한 패키지, 실제 상품에서 사용할 것들

devDependencies : 운영전 개발단계에 필요한 패키지, 개발용 물품

 

 

 

 

 

참고자료 : https://velog.io/@skyepodium/package.json

                코드스테이츠

반응형