npm 패키지 배포하기

leedaeun·2024년 6월 11일

개발 공부

목록 보기
1/2
post-thumbnail

npm 이란 무엇일까 ?

npm이란 Node Package Manager의 약자로 NPM을 딴 단어이다. npm은 JavaScript 런타임 환경인 Node.js의 피키지를 관리해주는 패키지 관리자이다. npm을 이용하면 Node.js로 개발 할때 필요한 패키지와 라이브러리를 쉽게 설치하고 관리할 수 있게 도와주는 패키지 관리자이다.

npm을 이용해서 할 수 있는 기능은 무엇이 있을까?

1. 패키지 설치

: npm을 사용해 node.js에서 사용하는 다양한 오픈 소스 패키지를 설치할 수 있다.
1-1. 전역 설치 : 프로젝트 폴더를 따로 만들지 않고 npm install -g 명령어로 설치하면 g옵션은 global 옵션으로 폴더 안에서 한정되지 않고 전역에서 패키지를 사용할 수 있다.

1-2. 로컬 설치 : 프로젝트 폴더를 만들고 폴더 안에서 npm install 의 명령어로 작성하면, 만든 폴더 안에서만 npm의 패키지를 사용할 수 있다.

2. 의존성 관리
: npm init 명령어로 npm을 폴더에서 실행시키면 package-lock.json, package.json, node_modules 폴더가 생성된다.
이때 각각의 역할을 자세히 알아보자

1). package-lock.json : 프로젝트의 의존성 트리를 고정하여 일관성을 보장하고 설치 속도를 향상시킨다.

2). package.json : 프로젝트의 메타데이터와 의존성 정보를 포함하는 주요 설정 파일

3). node_modules : 설치된 모든 패키지와 그 의존성을 저장하는 디렉토리

npm install 명령어를 통해 의존성 관리를 시작하게 되고, package.json 파일이 있을때 npm install 명령어를 사용하면 모든 의존성이 한 번에 설치된다.

3. 스크립트 실행
: npm start 명령어를 실행하면 파일 스크립트에 정의된 명령어가 실행된다.

4. 패키지 퍼블리싱
: npm 패키지를 개발할때 npm 레지스트리에 퍼블리싱한 후 다른 사용자들이 사용할 수 있도록 배포할 수 있는 명령어로 npm publish를 사용할 수 있다.

npm 패키지 배포해보기

https://www.npmjs.com

-> 다음 사이트에 들어가서 회원가입을 한 후 , one time 인증을 마친다.

그 후 배포하고 싶은 폴더 ex). npm-daeun-deploy 와 같이 폴더를 만들고

npm init -y, npm install commander
명령어를 통해 설치를 해준다.

간단한 예제 코드를 쳐서 배포가 성공하는지 확인해 보자.

cli.js 파일

#!/usr/bin/env node

const { program } = require('commander');

program.action(cmd => console.log('✓ Running!!'));

program.parse(process.argv);

package.json 파일

{
  "name": "impelfin-npm-deployment",
  "version": "1.0.1",
  "description": "",
  "main": "index.js",
  "bin" :{
    "log-run" : "bin/cli.js"
  },
  "keywords": [
    "npm-deploy"
  ],
  "author": "",
  "license": "MIT",
  "files": [
    "cli"
  ],
  "dependencies": {
    "commander": "^11.1.0"
  }
}

npm link, log-run 명령어로 연결한 후

npm login 명령어로 터미널에서 npm에 로그인 성공 한 후
이때 Logged in as <아이디> on https://registry.npmjs.org/. 다음과 같은 출력이 나오면 성공 !!

npm publish 배포 후

npm notice
npm notice 📦  <package 이름>@1.0.1
npm notice === Tarball Contents ===
npm notice 147B bin/cli.js
npm notice 304B package.json
npm notice === Tarball Details ===
npm notice name:          <package 이름>
npm notice version:       1.0.1
npm notice filename:      <package 이름>-1.0.1.tgz
npm notice package size:  412 B
npm notice unpacked size: 451 B
npm notice shasum:        d1b84699a43d1b0a9ec7f5cdc552640b03e9e631
npm notice integrity:     sha512-jN2BoFvob2fWo[...]Qb/s+2K1zOfPQ==
npm notice total files:   2
npm notice
npm notice Publishing to https://registry.npmjs.org/
+ <package 이름>@1.0.1

npm install <package 이름>@ 을 이용해 설치에 성공하는 것을 확인할 수 있다.

profile
💻 주니어 개발자 기록용 💻

0개의 댓글