Npm听起来像是一个在组织中使用的很棒的平台,很好奇是否可以像Nexus/Maven那样使用私人回购。谷歌上什么都没有出现:(


当前回答

Verdaccio是我一直在寻找的东西,它应该有自己的答案;)这是Sinopia的一个积极维护的分支(高度好评的答案)。它是一个作为npm包的npm注册表,可以在这里找到

在这里:https://github.com/verdaccio/verdaccio 在这里:https://www.verdaccio.org 端口号:4873

使用PM2运行

npm i -g verdaccio pm2
pm2 start --name verdaccio `which verdaccio`
pm2 save

使用docker运行

docker run -it --rm --detach --name verdaccio -p 4873:4873 verdaccio/verdaccio

使用头盔运行

helm repo add verdaccio https://charts.verdaccio.org
helm repo update
helm install verdaccio/verdaccio

其他回答

如果你更喜欢分散的方法,你也可以使用Aragon包管理器:

使用APM: http://blog.aragon.one/using-apm-to-replace-npm-and-other-centralized-package-managers/ 部署APM: https://github.com/aragon/aragonOS#apm

有一个容易使用的npm包可以做到这一点。 https://www.npmjs.org/package/sinopia

简而言之,Sinopia是一个私有/缓存npm存储库服务器,你可以用零配置来设置。

Sinopia可用于:

发布自己的私有包,而不向公众公开 只缓存所使用的公共包(不需要复制整个公共注册中心) 使用内部生成的修改版本覆盖公共包。

我想在列表中添加AWS Code Artifact服务,如果您的组织也在使用AWS git回购,看起来是一个不错的方法。

https://aws.amazon.com/blogs/devops/publishing-private-npm-packages-aws-codeartifact/

支持私有npm注册库的存储库管理器:

Sonatype Nexus 2.10 Artifactory 3.2

我想这个帖子需要更新。如果你看看任何可用的npm注册表,它们都非常繁重,需要couchdb。Gemfurry和其他人需要你放弃公共回购。一些像shadow-npm这样的npm没有最近的提交。

然后,我们找到了雷吉。它有一个很好的提交活动,非常容易安装和使用,并有相当好的社区支持。它的重量非常轻,你不需要处理couchdb等。