Npm听起来像是在组织内使用的绝佳平台,很好奇是否可以进行私人回购,例如Nexus / Maven。在Google上什么都没有:(
您可以为组织托管私人存储库以与npm一起使用吗?
我参加聚会可能会有点晚,但是以下两种情况都可能对您有用:
这是我知道的最简单的方法-使用Gemfury私有npm注册表将其托管在云中。
它是免费的,您可以使用您的Github帐户登录。与建立自己的数据库相比,它应该可以节省大量时间。
如果我不太了解您的问题,请原谅我,但这是我的答案:
您可以创建一个私有npm模块,并使用npm的常规命令进行安装。大多数node.js用户使用git作为他们的存储库,但是您可以使用任何适合您的存储库。
- 在您的项目中,您将需要NPM软件包的框架。大多数节点模块都有git存储库,您可以在其中查看它们如何与NPM集成(package.json文件,我相信这是其中的一部分,NPM的网站向您展示了如何制作npm软件包)
- 使用类似于Make的东西制作和打包您的软件包,以使其可以从Internet或网络上获得,以便为npm install下载做好准备。
包装完成后,请使用
npm install * tarball_url *
在2015年4月14日,npm私有模块被引入。
在购买专用模块时,您可以:
- 托管任意数量的私人软件包
- 将这些软件包的读取访问权限或读写访问权限授予任何其他付费用户
- 安装和使用其他付费用户已授予您读取权限的任何软件包
- 与其他付费用户授予您写入权限的软件包进行协作
当然它不是免费的-当前每个用户每月7美元。
而且它仍然是一项相当新的服务。例如,缺少对组织帐户的支持(截至2015年6月):
当前,私有软件包仅适用于个人用户,但即将推出对组织帐户的支持。在此期间,可以随时为您的组织创建用户,如果有支持,我们可以将其升级到组织。
因此,虽然不完美,但这是维护私有软件包的官方 npm解决方案,这本身值得一提。
更新
Npm私有软件包现已推出,并针对个人用户和组织制定了计划:
- 无限数量的公共和私人套餐
- $ 7 /月/开发人员
- 根据组织名称包含一个范围名称
- 发布和控制对@ org-name / foo的访问
(免责声明:甚至没有以任何方式与npm,Inc.进行远程关联)
支持私有npm注册表的存储库管理器:
Verdaccio是我一直在寻找的,应该得到它自己的答案;)这是一个积极维护的Sinopia分支(此处是强烈支持的答案)。它是一个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
有一个易于使用的npm软件包可以执行此操作。 https://www.npmjs.org/package/sinopia
简而言之,Sinopia是一个私有/缓存npm存储库服务器,您可以使用零配置进行设置。
可以将Sinopia用于:
- 发布自己的私人软件包,而不向公众公开
- 仅缓存使用的公共程序包(无需复制整个公共注册表)
- 使用内部产生的修改版本覆盖公共软件包。
https://github.com/isaacs/npmjs.org/:在npm v1.0.26版本中,您可以在package.json文件中将私有git存储库网址指定为依赖项。我没有用过,但希望得到反馈。这是您需要做的:
{
"name": "my-app",
"dependencies": {
"private-repo": "git+ssh://git@yourgitserver.com:my-app.git#v0.0.1",
}
}
以下文章讨论了这一点:可调试:专用npm模块
如果您喜欢分散的方法,也可以使用Aragon Package Manager: