프로그래밍 언어/NODE JS

패키지 배포하기

· 코딩마이데이

1. npm 웹 사이트(https://www.npmjs.com) 우측 상단의 Sign Up을 눌러 회원가입을 합니다.

2. 회원가입 confirm 메일을 확인합니다.

3. 콘솔에서 npm addUser 명령어를 입력하여 생성한 계정으로 로그인합니다.

npm 회원가입 버튼

 

이에 패키지로 만들 코드를 작성합니다. package.json의 main 부분의 파일명과 일치해야 합니다. 그래야 npm에서 이 파일이 패키지와 진입점임을 알 수 있습니다.

index.js

module.exports = () => {
  return "hello package";
};

 

이제 npm publish 명령어를 사용하여 이 패키지를 배포해봅시다. 하지만 에러가 발생할 것입니다.

콘솔

$ npm publish
npm notice
npm notice 📦  npmtest@0.0.1
npm notice Tarball Contents
npm notice 57B index.js
npm notice 441B package.json
npm notice Tarball Details
npm notice name: npmtest
npm notice version: 0.0.1
npm notice filename: npmtest-0.0.1.tgz
npm notice package size: 403 B
npm notice unpacked size: 498 B
npm notice shasum: 7cc5af447cbfe4512f9604055ddb1570d90a2301
npm notice integrity: sha512-s8zhWv/EutG/y[...]bB9WREpDpnRVQ==
npm notice total files: 2
npm notice
npm error code ENEEDAUTH
npm error need auth This command requires you to be logged in to https://registry.npmjs.org/
npm error need auth You need to authorize this machine using `npm adduser`
npm error A complete log of this run can be found in: C:\Users\zzang\AppData\Local\npm-cache\_logs\2025-06-07T01_16_00_428Z-debug-0.log

 

npmtest라는 이름을 누군가가 이미 사용하고 있으므로 오류가 발생했습니다. npm은 패키지의 이름이 겹치는 것을 허용하지 않습니다. 따라서 패키지의 이름을 바꿔서 배포해야 합니다.

누군가 이름을 사용하고 있는지 확인하려면 npm info [패키지명]을 콘솔에 입력합니다. 패키지에 대한 정보가 나온다면 누군가가 사용하고 있는 이름이고, npm ERR! code E404 에러가 발생한다면 사용해도 좋은 이름입니다.

package.json에서 원하는 이름으로 name으로 바꾸고, 다시 npm publish 명령어를 입력합니다.

콘솔

$ npm publish
npm notice
npm notice 📦  cherry1234@1.4.1
npm notice Tarball Contents
npm notice 57B index.js
npm notice 444B package.json
npm notice Tarball Details
npm notice name: cherry1234
npm notice version: 1.4.1
npm notice filename: cherry1234-1.4.1.tgz
npm notice package size: 402 B
npm notice unpacked size: 501 B
npm notice shasum: 74b02f44dab8296328cf21c1d606ac053435aae1
npm notice integrity: sha512-gYPZVfCRtkj/6[...]aQTLqs7rzfi4Q==
npm notice total files: 2
npm notice
npm notice Publishing to https://registry.npmjs.org/ with tag latest and default access
+ cherry1234@1.4.1

 

패지지에 대한 정보가 나오면 성공입니다. 이번에는 배포한 패키지를 삭제해보겠습니다. 72시간이 지나면 삭제할 수 없다는 점에 주의하새요. 삭제 명령에는 npm unpublish [패키지명] --force입니다. 패키지명애 여러분이 배포한 패키지 이름을 넣어주세요.

콘솔

$ npm unpublish cherry1234 --force
npm warn using --force Recommended protections disabled.
- cherry1234

$ npm info cherry1234
npm error code E404
npm error 404 Unpublished on 2025-06-07T01:38:05.543Z
npm error 404
npm error 404  'cherry1234' is not in this registry.
npm error 404
npm error 404 Note that you can also install from a
npm error 404 tarball, folder, http url, or git url.
npm error A complete log of this run can be found in: C:\Users\zzang\AppData\Local\npm-cache\_logs\2025-06-07T01_41_32_618Z-debug-0.log

 

삭제 후 npm info 명령어를 사용하여 제대로 지워졌는지 확인해봤습니다. 404 에러가 발생한다면 지워진 것입니다.