>웹 프론트엔드 >JS 튜토리얼 >npm에 패키지를 게시하는 방법: 단계별 가이드

npm에 패키지를 게시하는 방법: 단계별 가이드

Linda Hamilton
Linda Hamilton원래의
2024-11-19 15:55:03293검색

NPM(노드 패키지 관리자)에 패키지를 게시하는 것은 작업을 다른 개발자와 공유할 수 있을 뿐만 아니라 개발 커뮤니티에서 두각을 나타내는 방법이기도 합니다. 전 세계의 다양한 프로젝트에 통합되어 다른 프로그래머의 시간과 노력을 절약할 수 있는 재사용 가능한 솔루션을 만든다고 상상해 보십시오.

이 기사에서는 NPM에서 자신만의 패키지를 구성, 게시 및 유지 관리하여 기여에 대한 접근성을 높이고 개발자로서 가시성을 높이는 방법을 단계별로 배우게 됩니다.

전제 조건

시작하기 전에 다음 사항을 확인하세요.

  • NPM이 설치되었습니다. nodejs.org에서 다운로드하거나 NVM(노드 버전 관리자)을 사용할 수 있습니다.
  • npmjs.com에서 생성된 계정

터미널에서 아래 명령을 실행하여 Node.js와 NPM이 성공적으로 설치되었는지 확인하세요.

node -v
npm -v

설치가 올바르면 단말기에 각 버전이 표시됩니다.
결과는 아래와 유사합니다.

$ v20.18.0 # node -v
$ 10.8.2 # npm -v

프로젝트 구성

패키지에 대해 원하는 이름으로 폴더를 만드는 것부터 시작하세요. 제 경우에는 "string-reverser-jm"을 선택했습니다.

mkdir string-reverser-jm # cria a pasta via terminal
cd string-reverser-jm # acessa a pasta via terminal

NPM 초기화:

npm init

위 명령을 실행하면 터미널에서 package.json 파일을 생성하기 위해 몇 가지 질문을 합니다.
다음은 작성해야 하는 각 항목에 대한 설명입니다.

  • 이름: 패키지의 고유 식별자입니다.
  • 버전: 의미론적 버전 관리를 사용하여 변경 사항을 나타냅니다.
  • 설명: 패키지의 기능에 대한 간략한 설명입니다.
  • main: 진입점 파일(예: index.js)
  • 키워드: 분류하고 다른 개발자가 패키지를 더 쉽게 찾을 수 있도록 하는 키워드입니다.
  • 저자: 관련 작성자 세부정보를 추가하세요.
  • 라이센스: 라이센스는 다른 사람이 코드를 사용, 수정 및 배포할 수 있는 방법을 정의합니다. 가장 일반적인 라이센스는 MIT로, 원본 저작권 고지가 제공되는 한 허용적이고 자유로운 사용을 허용합니다.

질문을 마치고 NPM이 이 정보 없이 파일을 생성한 경우 생성된 파일을 편집기에서 열고 누락된 내용을 추가하세요.

예:

{
  "name": "string-reverser-jm",
  "version": "1.0.0",
  "description": "A simple utility to reverse strings, useful for demonstrations and small projects.",
  "main": "index.js",
  "scripts": {
    "test": "echo \"No test specified\" && exit 1"
  },
  "author": "Juliana Macedo <contact@starcoders.info> (https://www.starcoders.info)",
  "keywords": [
    "string",
    "reverse",
    "utility"
  ],
  "license": "MIT"
}

코드 작성

프로젝트 루트에 index.js 파일을 생성하세요.

function reverseString(str) {
  if (typeof str !== "string") {
    throw new TypeError("Expected a string as input");
  }
  return str.split("").reverse().join("");
}

module.exports = reverseString;

패키지 테스트

패키지를 게시하기 전에 테스트하기 위해 npm link 명령을 사용합니다

패키지 디렉터리에서 다음 명령을 실행하세요.

npm link

패키지를 테스트하려는 프로젝트에서 다음 명령을 실행하세요.

node -v
npm -v

테스트 프로젝트에서 패키지를 가져와 사용하여 작동하는지 확인하세요.

$ v20.18.0 # node -v
$ 10.8.2 # npm -v

생성된 링크를 제거하려면 테스트 프로젝트 디렉터리에서 npm unlink string-reverser-jm 명령을 실행한 다음 패키지 디렉터리에서 npm unlink 명령을 실행하면 됩니다.

게시용 패키지 준비

먼저 패키지용 Git 저장소를 생성하고 이를 NPM에 연결합니다. 이를 통해 소스 코드를 사용할 수 있게 되어 투명성과 신뢰도가 높아지고, 공동 작업과 커뮤니티 기여가 촉진되며, CI/CD를 통한 자동화가 가능해져 보다 효율적인 관리 및 유지 관리가 가능해집니다.

NPM에 연결하려면 저장소의 https 주소를 복사하여 package.json에 추가하세요.

mkdir string-reverser-jm # cria a pasta via terminal
cd string-reverser-jm # acessa a pasta via terminal
  • .gitignore: node_modules 및 .env와 같은 폴더와 파일을 버전 관리에서 제외하려면 .gitignore 파일을 만듭니다.
  • .npmignore: .npmignore 파일을 생성하여 NPM 패키지에 포함하지 말아야 할 파일과 폴더를 지정합니다.
  • README.md: 패키지에 대한 정보가 포함된 파일을 만듭니다.

패키지 게시

로그인 세부정보를 사용하여 NPM에 로그인하세요.

npm init

패키지를 게시하려면 아래 명령을 실행하세요.

{
  "name": "string-reverser-jm",
  "version": "1.0.0",
  "description": "A simple utility to reverse strings, useful for demonstrations and small projects.",
  "main": "index.js",
  "scripts": {
    "test": "echo \"No test specified\" && exit 1"
  },
  "author": "Juliana Macedo <contact@starcoders.info> (https://www.starcoders.info)",
  "keywords": [
    "string",
    "reverse",
    "utility"
  ],
  "license": "MIT"
}

알겠습니다. 패키지는 곧 NPM 레지스트리에서 사용할 수 있습니다!
https://www.npmjs.com/package/string-reverser-jm

패키지 업데이트

업데이트나 버그 수정 시 아래 명령 중 하나를 사용하여 의미론적 버전 관리에 따라 package.json의 버전 번호를 늘리세요.

function reverseString(str) {
  if (typeof str !== "string") {
    throw new TypeError("Expected a string as input");
  }
  return str.split("").reverse().join("");
}

module.exports = reverseString;

업데이트된 버전을 게시하세요.

npm link

자주 발생하는 문제:

  • 이미 사용된 패키지 이름: 동일한 이름의 패키지가 이미 존재하여 게시에 실패한 경우 아직 사용되지 않은 다른 이름을 선택하세요.
  • 인증 오류: 로그인되어 있고 게시하는 데 필요한 모든 권한이 있는지 확인하세요.
  • 버전 충돌: 버전 번호를 업데이트하지 않고 게시하려고 하면 NPM에서 게시물을 거부합니다. 버전을 높이려면 npm 버전을 사용하세요.

Como publicar um pacote no npm: um guia passo a passo

Como publicar um pacote no npm: um guia passo a passo

위 내용은 npm에 패키지를 게시하는 방법: 단계별 가이드의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.