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


当前回答

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

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

Sinopia可用于:

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

其他回答

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

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

Sinopia可用于:

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

如果我不太理解你的问题,请原谅,但我的回答是:

你可以创建一个私有的npm模块,并使用npm的普通命令来安装它。大多数node.js用户使用git作为他们的存储库,但你可以使用任何适合你的存储库。

在你的项目中,你需要一个NPM包的框架。大多数 节点模块有git存储库,您可以在其中查看它们如何 集成与NPM(包。json文件,我相信是 这和NPM的网站向你展示了如何制作一个NPM包) 使用类似于Make的东西来制作和压缩你的包 可以从互联网或您的网络上获取,以便为NPM准备 安装下载。 一旦你的包装制作完成,就可以使用了 NPM安装

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

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

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

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

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

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

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

更新

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

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

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