[node.js] 조직에서 npm과 함께 사용할 개인 저장소를 호스팅 할 수 있습니까?

Npm은 조직 내에서 사용하기에 훌륭한 플랫폼 인 것 같습니다. Nexus / Maven과 같이 개인 저장소가 가능한지 궁금합니다. Google에 아무것도 나타나지 않습니다 🙁



답변

나는 이것을 할 수있는 쉬운 방법이 없다고 생각합니다.

고궁 박물원 문서에서 보면 그것이 가능하다는 것을 우리에게 알려줍니다 :

개인 레지스트리를 실행할 수 있습니까?

예!

가장 쉬운 방법은 소파 데이터베이스를 복제하고 동일한 (또는 유사한) 디자인 문서를 사용하여 API를 구현하는 것입니다.

공식 CouchDB에서 연속 복제를 설정 한 다음 내부 CouchDB를 레지스트리 구성으로 설정하면 비공개 패키지 외에 게시 된 패키지를 읽을 수 있으며 기본적으로 내부적으로 만 게시됩니다. 전 세계에 볼 수있는 패키지를 게시하려면 --registry해당 명령에 대한 구성을 재정의하면 됩니다.

시계 블로그에서 개인 npm 저장소를 만드는 방법 에 대한 훌륭한 자습서도 있습니다 .

편집 (2017-02-26) :

실제로 새로운 것은 아니지만 이제 NPM에서 개인 패키지를 호스팅 할 유료 요금제 가 있습니다.

수년에 걸쳐 NPM은 NPM을 기반으로 구축 된 거대한 프론트 엔드 생태계를 통해 Node.js가 아닌 많은 회사의 요소가되었습니다. 귀사에서 내부적으로 Java 프로젝트를 호스팅하기 위해 Sonatype Nexus 를 실행중인 경우 내부 NPM 패키지를 호스팅하는 데 사용할 수도 있습니다.

다른 옵션으로는 JFrog ArtifactoryInedo ProGet 이 있지만 사용하지는 않았습니다.


답변

https://github.com/isaacs/npmjs.org/ : npm 버전 v1.0.26에서는 개인 git 저장소 URL을 package.json 파일의 종속성으로 지정할 수 있습니다. 나는 그것을 사용하지 않았지만 피드백을 좋아할 것입니다. 해야 할 일은 다음과 같습니다.

{
    "name": "my-app",
    "dependencies": {
        "private-repo": "git+ssh://git@yourgitserver.com:my-app.git#v0.0.1",
    }
}

다음 포스트는 이것에 대해 이야기합니다 : 디버깅 가능 : 개인 npm 모듈


답변

이를 위해 npm 패키지를 쉽게 사용할 수 있습니다.
https://www.npmjs.org/package/sinopia

간단히 말해, Sinopia는 개인 / 캐싱 npm 리포지토리 서버로 구성없이 구성 할 수 있습니다.

Sinopia를 사용하여 다음을 수행 할 수 있습니다.

  • 개인 패키지를 공개하지 않고 공개
  • 사용 된 공용 패키지 만 캐시 (전체 공용 등록을 복제 할 필요가 없음)
  • 내부적으로 작성된 수정 된 버전으로 공개 패키지를 대체하십시오.

답변

Verdaccio는 내가 찾던하고 그것이 자신의 답변을받을 권리가 무엇입니까) 그것은 Sinopia의 적극적으로 유지 포크 (매우 upvoted 대답은 여기에 ). 그것은이다 NPM 패키지와 NPM 레지스트리 및 찾을 수 있습니다

여기 : https://github.com/verdaccio/verdaccio ,
여기 : https://www.verdaccio.org ,
여기 : pnpm i -g verdaccio또는
여기 :docker run -it --rm --detach --name verdaccio -p 4873:4873 verdaccio/verdaccio


답변

2015 년 4 월 14 일에 npm 개인 모듈 이 도입되었습니다.

개인 모듈에 대한 비용을 지불하면 다음을 수행 할 수 있습니다.

  • 원하는만큼 개인 패키지를 호스팅
  • 다른 유료 사용자에게 해당 패키지에 대한 읽기 권한 또는 읽기 / 쓰기 권한 부여
  • 다른 유료 사용자가 귀하에게 읽기 권한을 부여한 모든 패키지를 설치하고 사용하십시오.
  • 다른 유료 사용자가 귀하에게 쓰기 권한을 부여한 모든 패키지에 대해 공동 작업

물론, 그것은 무료입니다-현재 사용자 당 한 달에 7 $.

그리고 그것은 여전히 ​​새로운 서비스입니다. 예를 들어 조직 계정에 대한 지원이 누락되었습니다 (2015 년 6 월 기준).

현재 개인 패키지는 개별 사용자 만 사용할 수 있지만 조직 계정에 대한 지원은 곧 제공 될 예정입니다. 그 동안 조직의 사용자를 자유롭게 작성하고 지원이있을 때 조직으로 업그레이드 할 수 있습니다.

따라서 완벽하지는 않지만 개인 패키지를 유지 관리 하는 공식 npm 솔루션이므로 언급 할 가치가 있습니다.

최신 정보

개별 사용자와 조직 모두를위한 Npm 개인 패키지 가 제공됩니다 .

  • 무제한 공개 및 개인 패키지
  • 월 $ 7 / 개발자
  • 조직 이름을 기반으로 하나의 범위 이름을 포함합니다.
  • @ org-name / foo에 대한 액세스 공개 및 제어

(면책 조항 : npm, Inc. 와 원격으로 제휴하지 않아도됩니다 )


답변

개인 npm 레지스트리를 지원하는 저장소 관리자 :


답변

이 스레드는 업데이트가 필요합니다. 사용 가능한 npm 레지스트리를 보면 매우 무겁고 couchdb가 필요합니다. Gemfurry와 다른 사람들은 공개 리포지토리에서 분기해야합니다. shadow-npm과 같은 npm 중 일부 에는 최근 커밋없습니다 .

그런 다음 Reggie 를 찾았습니다 . 커밋 활동이 뛰어나고 설치 및 사용이 매우 쉽고 커뮤니티 지원 이 아주 좋습니다 . 매우 가볍고 couchdb 등을 다룰 필요가 없습니다.