CNPM搭建私有的NPM服务
发布于 11 年前 作者 bsspirit 22188 次预览 最后一次回复是 11 年前 来自 分享

前言:
随着Nodejs开发的项目越来越多,Node项目管理就成了一个需要思考的问题了。如果所有项目都开源统一用 NPM 进行管理也没什么问题,但总有一些是我们不希望的完全开放的代码,作为企业是核心秘密保留在公司内部,这个时候就需要在公司内网也搭建一套 NPM 依赖管理系统。
CNPM正好就提供了这个功能。从Github上CNPM的主页看,CNPM由国内Alibaba团队开发维护。
文章目录:
- CNPM是什么?
- 搭建CNPM的服务器
- 设置私有注册库的三种方法
- CNPM的客户端使用
请查看博客文章
10 回复
赞!
@dead-horse 原来是框架的作者!非常不错的应用。
哈哈,圈子好小啊
赞!!! 文章写得够详细的, 收录到wiki了
@suqian 嘿嘿,好的
前段时间搭建过私有库,考察过CNPM以及官方的npm-registry-couchapp,最后发现其实官方的库就可以很好的解决私有库中的问题。
npm config set always-auth true就可以让npm客户端总是上送用户名密码,再配合Npm-session,基本上后台认证就很好做了(只需写一个couchDB的plugin)。并且,npm团队一直在积极更新npm/npm-registry-couchapp,同时使用成熟的文档数据库couchDB来解决软件仓库的版本管理/增量同步/分布式拓展等问题。这样看起来,CNPM的优势似乎非常有限。。@lujb 感谢回复
@bsspirit npm-registry-couchapp其实只是一些http请求的handler,并存放在CouchDB中,当npm请求过来,是由CouchDB做的路由分发给这些handler执行(CouchDB自带mozjs)。所以,任何npm操作(http请求)你都可以做任何拦截处理。可以看到软件仓库的大部分问题,其实是使用CouchDB来解决的。话说楼主懂这个多高大上的数据库,佩服佩服!
@lujb 我去了解一下,多谢!
couchdb的方案我们实施了一年半,期间经不起断网容灾测试,因为我们没法保证couchdb本身的双master是如何做到的,而且dba也不熟悉。
cnpm一开始的出发点为了内部npm,后来发现能开源给更多人用就直接做了。