标签:
cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题。
主要有如下理由:
部署cnpm只需5分钟。
获取代码
git clone git://github.com/fengmk2/cnpmjs.org.git $HOME/cnpmjs.org
cd $HOME/cnpmjs.org
创建MySQL表
; mysql -u yourname -p
mysql> use cnpmjs;
mysql> source docs/db.sql
然后编写配置文件config/config.js
:
module.exports = {
debug: false,
enableCluster: true, // enable cluster mode
mysqlServers: [
{
host: ‘localhost‘,
port: 3306,
user: ‘cnpmjs‘,
password: ‘cnpmjs123‘,
}
],
mysqlDatabase: ‘cnpmjstest‘,
redis: {
host: ‘localhost‘,
port: 6379,
},
nfs: null, //use your own CND here
enablePrivate: true, // enable private mode, only admin can publish, other use just can sync package from source npm
admins: {
admin: ‘admin@cnpmjs.org‘,
},
syncModel: ‘exist‘
};
安装依赖
make install
启动
; npm run start
Starting cnpmjs.org ...
Start nodejs success. PID=27175
好了,部署完成!
服务跑起来之后,企业员工需要在自己的电脑上配置下客户端。
首先安装cnpm客户端:
npm install -g cnpm
在自己的脚本的启动文件(例如.zshrc
或.bashrc
)中添加别名:
echo "#lnpm alias\nalias lnpm=‘cnpm --registry=http://localhost:7001 --registryweb=http://localhost:7002 --cache=$HOME/.npm/.cache/lnpm --userconfig=$HOME/.lnpmrc‘" >> $HOME/.zshrc && source $HOME/.zshrc
注意用自己的仓库信息替换上面命令的相关部分。
之后就可以用lnpm
命令访问企业的内部NPM了,各种接口和NPM一样。
注意,目前cnpm的权限控制比较简单,只有admin
用户有权publish
NPM模块。如果你的企业需要灵活的权限控制,需要自行开发。
标签:
原文地址:http://www.cnblogs.com/jymz/p/4511284.html