> 웹 프론트엔드 > JS 튜토리얼 > Verdaccio와 함께 개인 NPM 패키지 호스트, 게시 및 관리

Verdaccio와 함께 개인 NPM 패키지 호스트, 게시 및 관리

Jennifer Aniston
풀어 주다: 2025-02-17 09:39:15
원래의
764명이 탐색했습니다.
Verdaccio : 개인 NPM 패키지의 쉽게 관리 할 수있는 강력한 도구

코어 포인트 Host, Publish and Manage Private npm Packages with Verdaccio

Verdaccio는 NPM 상업용 개인 패키지 호스팅, 게시 및 관리 서비스에 대한 무료 대안입니다. 구성없이 로컬 NPM 레지스트리를 생성하고 자체 데이터베이스와 함께 제공됩니다. Verdaccio는 로컬 캐시/프록시 서버 역할을하며 사용자 지정 저장소에서 종속성을 찾을 수없는 경우 공식 NPM 레지스트리에서 다운로드하여 로컬 스토리지 폴더에 저장됩니다. 또한 지역 개인 패키지 제작을 지원합니다. Verdaccio는 설치 및 구성이 쉽고 가끔 충돌시 자동 재시작하도록 설정할 수 있습니다. 또한 사용자가 패키지를 게시하도록 등록 할 수 있습니다.

개인 패키지를 호스팅하는 것 외에도 Verdaccio는 공개 패키지를 캐시합니다. 스토리지 폴더에 요청 된 패키지가 있는지 확인하고, 찾을 수없는 경우, 요청을 공식 NPM 레지스트리로 전달하여 요청을 다운로드, 저장 및 회신합니다. 이는 공식 레지스트리가 다운 되더라도 캐시 된 버전에 여전히 액세스 할 수 있음을 의미합니다.
  • 이 기사는 Panayiotis«pvgr»Velisarakos와 Jurgen van de Moere에 의해 검토되었습니다. itepoint 컨텐츠를 완벽하게 만드는 모든 Sitepoint Peer Reviewer에게 감사드립니다!
  • 우리 모두가 알고 있듯이 NPM과 레지스트리는 사실상의 JavaScript 패키지 관리자이며 세계에서 가장 큰 코드 모음입니다. 그러나 때로는 놀라운 새로운 패키지를 개발할 때 추가 개인 정보가 필요합니다. 회사 프로젝트 (공개적으로 공유되지 않아야 함), 마스터/학사 논문 프로젝트이든, 나처럼 나처럼 새로운 주제에 대한 초기 시도를 부끄러워하기 때문에.
  • 어떤 이유로 든 많은 옵션이 있습니다. 아마도 가장 쉬운 방법은 NPM에 비즈니스 서비스를 등록한 다음 시작할 수 있습니다. 그러나 이것은 수수료가 필요하며 모든 사람의 지갑에 적합하지 않을 수 있습니다.
  • 운 좋게도, 당신을 도울 수있는 Verdaccio라는 무료 대안이 있습니다.
  • Verdaccio 소개 Verdaccio는 구성없이 로컬 NPM 레지스트리를 만들 수있는 NPM 패키지입니다. 이것은 자체 데이터베이스와 함께 필요한 모든 기능을 갖춘 프로젝트입니다. 로컬 캐시/프록시 서버 역할을하여이를 수행합니다.
  • 이것은 사용자 정의 저장소에서 존재하지 않는 것을 설치하려고 할 때마다 공식 NPM 레지스트리를 핑하고 종속성을 다운로드한다는 것을 의미합니다. 사용자 정의 저장소는 이러한 종속성을 스토리지라는 간단한 폴더에 저장합니다. 다음 설치는이 로컬 캐시의 사본을 사용합니다. 가장 중요한 것은 NPM Login/AddUser/Publish와 같은 NPM 클라이언트의 일부 명령이 복사되어 지역 개인 패키지 생성을 지원합니다.이 기사의 뒷부분에서 볼 수 있습니다.
이것이 새로운 것이 아니라고 생각한다면 이미 시노피아가 있습니다. 당신은 옳습니다. Verdaccio는 후진 호환성을 유지하는 Sinopia의 포크 일 뿐이지 만 동시에 공식 NPM의 변화를 따라 잡으려고합니다. Sinopia에서 사용할 수없는 이러한 변경 사항 중 하나는 SCOPE 패키지입니다. Angular 2 또는 TypeScript NPM 호스팅 유형과 같은 라이브러리를 사용하기 전에 보았을 수도 있습니다. 앞의 것의 @ 기호로 쉽게 식별 할 수 있습니다.

Sinopia와 Verdaccio는 모두 Mac/Linux 및 Windows에서 제공됩니다.

Verdaccio의 초보자 Verdaccio는 NPM 패키지이므로 다음 명령을 실행하여 간단히 설치할 수 있습니다.
<code># 安装 Angular2 依赖项
npm install @angular/core

# 安装 TypeScript 的官方 Node.js 类型定义
npm install @types/node</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
그러면 Verdaccio에게 전화하면 인스턴스가 시작되어 개인 레지스트리가 실행됩니다.

기본적으로 포트 4873에서 듣습니다. 나중에이 설정을 변경하는 방법에 대해 논의하겠습니다.

이 기사에서는 개발 기계에 레지스트리 설정을 소개합니다. 기업 환경에서는 모든 개발자가 액세스 할 수 있도록 전용 서버에서이를 수행해야 할 수도 있습니다.

verdaccio는 node.js 응용 프로그램이므로 충돌 할 때마다 다시 시작해야합니다. PM2를 사용하는 것이 좋습니다. 다음 단계 만 실행하면됩니다.

<code>npm install -g verdaccio</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
또한,이 기사를 읽은 후에 Verdaccio가 적합하지 않다고 결론을 내 렸습니다. 프로세스를 중지하고 다음 명령으로 Verdaccio를 제거하십시오.

클라이언트 구성 레지스트리가 UP 및 실행중인 경우 NPM 클라이언트를 새 주소에 가리 려야합니다. 다음 명령을 실행하여 수행 할 수 있습니다.

이 기사의 단계를 따르고 나중에 원래 NPM 레지스트리로 복원하려면이 명령을 실행하려면이 명령을 실행하십시오. https://www.php.cn/link/c0ab525d634e80fd8e20e3dc00b11c ( https 기반 액세스의 경우) 또는 NPM 세트 레지스트리 https://www.php.cn/link/6baadc89159617043965f9e1889224e7 (클래식 http 액세스 용).

또한 HTTPS를 통해 레지스트리 서비스를 제공하는 경우 적절한 CA 정보를 설정해야합니다.

이제 주소

https://www.php.cn/link/0f3ea482c9513bf4548f302a46d932d 로 이동하여 레지스트리 브라우저에 액세스 할 수 있습니다.

<code># 安装 pm2
npm install pm2 -g

# 使用 pm2 启动 Verdaccio
pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio
# --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
로그인 후 복사
로그인 후 복사

사용자 정의 레지스트리 구성 서버가 시작되면 config.yaml이라는 새 구성 파일이 자동으로 생성됩니다. 기본적으로 사용자 폴더에서 생성됩니다. Windows에서는 다음과 같이 보일 수 있습니다
<code>npm uninstall -g verdaccio</code>
로그인 후 복사
중요한 설정은 Verdaccio 청취를위한 기본 포트를 구성하는 것입니다. 구성 파일 끝에서 다음 줄을 추가 하여이 설정을 변경할 수 있습니다.

<code># 安装 Angular2 依赖项
npm install @angular/core

# 安装 TypeScript 的官方 Node.js 类型定义
npm install @types/node</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
또 다른 관심 설정은 특히 기업 환경에서 프록시를 사용하는 것일 수 있습니다. 이 설정은 다음과 같습니다.

구성을 변경 한 후 현재 프로세스를 죽이거나 PM2 프로세스를 중지하여 다시 시작하여 Verdaccio를 다시 시작하십시오.
<code>npm install -g verdaccio</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
등록 된 사용자 마지막으로 패키지를 레지스트리에 게시하는 사용자를 구성해야합니다. 우리는 사용자 정의 레지스트리를 가리키는 기본 adduser 명령을 사용하여이를 수행 할 수 있습니다.

그 후, 명령 줄의 프롬프트를 따르십시오.

앞에서 구성한 것과 동일한 포트를 사용해야합니다.

이 사용자는 Verdaccio 인스턴스에 대해 인증하는 데 사용됩니다. 위에서 언급 한 config.yaml 파일 외에도 로그인 이름과 자격 증명을 저장할 새로 생성 된 htpasswd 파일을 찾을 수 있습니다.
<code># 安装 pm2
npm install pm2 -g

# 使用 pm2 启动 Verdaccio
pm2 start PATH-TO-GLOBAL-VERDACCIO/verdaccio
# --> 例如,对于 Windows:C:/Users/[USERNAME]/AppData/Roaming/npm/node_modules/verdaccio/bin/verdaccio</code>
로그인 후 복사
로그인 후 복사
첫 번째 개인 NPM 패키지 이제 우리는 첫 번째 개인 패키지를 만들 준비가되었습니다. 우리는 간단한 Hello-World 패키지를 만들어 게시 과정을 볼 것입니다.

패키지 만들기 먼저 Hello-World라는 새 폴더를 만듭니다. 이제 새 패키지를 시작해야하며 NPM init 명령을 사용하여이를 수행합니다. 많은 질문을받을 수 있지만 이제는 대부분의 질문이 기본값을 받아들입니다. 설명을 제공하고 INDEX.JS의 진입 점을 유지하고 저자로 이름을 추가하십시오. 결과는 패키지를 설명하는 package.json이라는 파일입니다.

좋은 관행은 패키지 이름을 접두사로 접두어 개인 로컬 소스 또는 공식 NPM 소스를 사용하고 있는지 즉시 알 수 있습니다.

다음 부분은 실제 패키지를 만드는 것입니다. 따라서 index.js 파일을 만듭니다. 이 간단한 예제는 helloworld 함수 만 내보낼 것입니다 :

릴리스 패키지 나머지는 이제 패키지를 해제 할 것입니다. 이를 위해서는 먼저 NPM 로그인을 사용하여 레지스트리에 로그인해야합니다. 이전에 설정 한 사용자 이름과 비밀번호를 입력하라는 메시지가 표시됩니다.

이 작업을 완료 한 후 Hello-World의 루트 디렉토리에서 NPM 게시를 실행하여 작업을 완료하십시오.

샘플 사용자 애플리케이션

이제 우리는 개인 패키지를 게시 했으므로 간단한 데모 애플리케이션을 만들어 봅시다.
새로운 폴더 데모에서는 NPM init을 다시 사용하여 새 노드 응용 프로그램을 만듭니다. 다시 말하지만, 모든 제안을 수락하고 설명과 저자 정보 만 추가 할 수 있습니다.

후에는 응용 프로그램의 루트 디렉토리 역할을하는 index.js 파일을 만듭니다.

프라이빗 패키지 설치 개인 패키지를 설치하려면 기본적으로 표준 NPM 프로세스와 동일한 작업을 수행해야합니다.

이것은 패키지를 node_modules 폴더에 설치하고 package.json의 종속성 섹션을 업데이트합니다.

이제 패키지를 사용할 수 있습니다. index.js를 열고 다음 코드를 추가하십시오
<code># 安装 Angular2 依赖项
npm install @angular/core

# 安装 TypeScript 的官方 Node.js 类型定义
npm install @types/node</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
이제 Node Index.js를 사용하여 응용 프로그램을 실행하면 Hello World를 명령 줄에서 출력으로 표시해야합니다.

축하합니다. 방금 게시하고 자신의 개인 패키지를 사용했습니다!

공개 패키지를 요청하십시오

공개 패키지도 마찬가지입니다. NPM 설치 패키지 이름을 계속 실행하면 평소와 같이 Node_Modules 폴더에 모든 것이 설치됩니다.

Verdaccio가 무대 뒤에서하는 일은 스토리지 폴더를 확인하고 요청 된 패키지가 있는지 확인하는 것입니다. 존재하지 않으면 요청을 공식 NPM 레지스트리로 전달하고 다운로드하여 저장 한 다음 요청에 응답하려고합니다. 다음에 동일한 패키지에 대한 NPM 설치 요청을 만들면 이제 패키지를 제공합니다.
<code>npm install -g verdaccio</code>
로그인 후 복사
로그인 후 복사
로그인 후 복사
따라서 공식 레지스트리가 줄어들거나 어떤 이유로 든 접근 할 수없는 경우에도 여전히 자신의 캐시 버전에 액세스 할 수 있습니다. Verdaccio는 항상 요청 된 콘텐츠 만 다운로드합니다. 몇 가지 업데이트를 게시하면 필요에 따라 업데이트를 다운로드합니다.

레지스트리 브라우저에는 공개 패키지를 표시해서는 안됩니다. 표시 해야하는 경우 .sinopia-db.json 파일을 편집하고 수동으로 패키지 이름을 목록 배열에 추가 할 수 있습니다. 나중에 Verdaccio를 다시 시작하는 것을 잊지 마십시오.

결론 이제 자신의 개인 레지스트리를 호스팅하고 캐시 된 공개 패키지의 혜택을받을 수 있습니다. 가장 중요한 것은 이제 클라우드와 통신하지 않고도 개인 패키지를 게시 할 수도 있습니다. 설치가 완료된 후 모든 관련 NPM 클라이언트 명령은 평소와 동일합니다.

일부 패키지가 손상되거나 손상된 미친 상황에서는 패키지를 호스팅하는 폴더 스토어 일 뿐이므로 여기에서 탐색하고 결함이있는 패키지를 삭제하십시오. 다음 설치가 문제를 해결할 수 있습니다.

나는 당신 이이 게시물을 즐기고 의견에서 당신의 의견을 듣기를 기대합니다!

Verdaccio의 개인 NPM 패키지 사용에 대한 FAQS (FAQ) Verdaccio 란 무엇이며 개인 NPM 패키지에 사용해야하는 이유는 무엇입니까? Verdaccio는 오픈 소스, 가볍고 강력한 개인 NPM 레지스트리로 자신의 NPM 패키지를 개인적으로 호스팅 할 수 있습니다. 이것은 코드 및 종속성을 제어하려는 개발자에게 훌륭한 도구입니다. Verdaccio는 NPM 패키지를 관리하는 안전하고 효율적인 방법을 제공하여 기본 NPM 레지스트리가 다운 될 때 패키지를 캐시하고 액세스를 제어하며 백업 옵션으로 사용할 수 있습니다.

내 시스템에 Verdaccio를 설치하는 방법은 무엇입니까?

Verdaccio를 설치하는 것은 매우 쉽습니다. 시스템에 Node.js 및 NPM을 설치해야합니다. 설치가 완료되면 NPM 설치 명령을 사용하여 Verdaccio : NPM 설치 -G Verdaccio를 설치할 수 있습니다. 이것은 시스템에 전 세계적으로 Verdaccio를 설치합니다.

Verdaccio를 사용하여 개인 NPM 패키지를 게시하는 방법은 무엇입니까?

Verdaccio를 설치 한 후 NPM 로그인 명령을 사용하여 Verdaccio Registry에 먼저 로그인하여 개인 NPM 패키지를 게시 할 수 있습니다. 사용자 이름, 비밀번호 및 이메일을받을 수 있습니다. 로그인하면 패키지 디렉토리로 이동하여 NPM Publish 명령을 사용하여 패키지를 게시하십시오.

Verdaccio의 개인 NPM 패키지에 대한 액세스를 어떻게 제어합니까?

verdaccio를 사용하면 구성 파일 config.yaml을 통해 개인 NPM 패키지에 대한 액세스를 제어 할 수 있습니다. 패키지에 액세스, 게시 및 게시 할 수있는 사람을 지정할 수 있습니다. 사용자 그룹을 생성하고 권한을 할당 할 수도 있습니다.

Verdaccio를 공개 NPM 패키지의 캐시로 사용할 수 있습니까?

예, Verdaccio는 공개 NPM 패키지의 프록시 및 캐시 역할을 할 수 있습니다. 즉, 패키지를 설치하면 Verdaccio가 먼저 스토리지에서 사용할 수 있는지 확인합니다. 사용할 수없는 경우 공개 NPM 레지스트리에서 가져 와서 향후 사용하기 위해 캐시합니다.

Verdaccio를 폴백 옵션으로 사용하도록 구성하는 방법은 무엇입니까?

.npmrc 파일에서 기본 레지스트리로 설정하여 폴백 옵션 역할을하도록 Verdaccio를 구성 할 수 있습니다. 이런 식으로 기본 NPM 레지스트리가 다운 될 때마다 NPM은 자동으로 Verdaccio를 사용합니다.

Verdaccio를 다른 도구와 통합 할 수 있습니까?

예, Verdaccio는 Docker, Kubernetes 및 Gitlab과 같은 다양한 도구와 통합 될 수 있습니다. 이것은 다양한 개발 워크 플로에 적응할 수있는 보편적 인 도구입니다.

패키지를 Verdaccio로 마이그레이션하는 방법은 무엇입니까?

Verdaccio로 패키지를 마이그레이션하는 것은 Verdaccio 레지스트리에 게시하는 것만 큼 쉽습니다. Verdaccio Registry에 로그인하고 NPM Publish 명령을 사용하여이를 수행 할 수 있습니다.

팀 환경에서 Verdaccio를 사용할 수 있습니까?

물론

. Verdaccio는 팀 환경에서 작동하도록 설계되었습니다. 어떤 패키지에 액세스 할 수 있는지 제어 할 수있어 협업을위한 훌륭한 도구가됩니다.

Verdaccio에 어떻게 기여 하는가?

Verdaccio는 오픈 소스 프로젝트이며 언제든지 기부금을 환영합니다. 오류를보고, 기능 제안, 문서 개선 또는 풀 요청을 제출하여 기여할 수 있습니다.

위 내용은 Verdaccio와 함께 개인 NPM 패키지 호스트, 게시 및 관리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿