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

其他回答

在2015年4月14日,npm私有模块被引入。

当你为私人模块付费时,你可以: 托管尽可能多的私有包 将这些包的读访问权或读写访问权授予任何其他付费用户 安装并使用其他付费用户授予您读访问权限的任何包 协作其他付费用户授予您写权限的任何包

当然它不是免费的——目前每个用户每月7美元。

这仍然是一项相当新的服务。例如,缺少对组织帐户的支持(截至2015年6月):

目前,私有包仅对个人用户可用,但对组织帐户的支持很快就会推出。在此期间,请随意为您的组织创建一个用户,我们可以在提供支持时将其升级为组织。

因此,虽然它并不完美,但它是维护私有包的官方npm解决方案,这本身就值得一提。

更新

Npm私有包现已可用,针对个人用户和组织:

不限数量的公共和私人套餐 7美元/月/开发人员 包含一个基于组织名称的作用域名称 发布和控制对@org-name/foo的访问

(免责声明:与npm, Inc.没有任何关联)

我可能有点晚了,但这两个中的任何一个都可能对你有用:

http://www.jfrog.com/confluence/display/RTF/Npm+Repositories https://github.com/krakenjs/kappa

如果你更喜欢分散的方法,你也可以使用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可用于:

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

这是我所知道的最简单的方法——用Gemfury私有npm注册表在云中托管它。

它是免费的,你可以用你的Github账户登录。与建立自己的数据库相比,这样可以节省很多时间。