CentOS 7搭建 cnpm 私有仓库

服务端
安装工具
$ npm install -g –build-from-source cnpmjs.org cnpm sqlite3
如果报错或者警告通过下面方式安装
$ npm install -g –unsafe-perm –verbose –build-from-source cnpmjs.org cnpm sqlite3
配置
配置文件位于~/.cnpmjs.org/config.json中,
{
“bindingHost”: “0.0.0.0”,
“admins”: {
“admin”: “admin@example.com”
},
“scopes”: [
“@package”
],
“registryHost”: “registry.company.com”
}
bindingHost:设置0.0.0.0后,服务可外网访问admins: 管理员配置,可多个scopes: 包前缀,如果不是以这个前缀命名的包将不能发布,可多个registryHost:下载包对应的服务器地址,如不配置会走默认r.cnpmjs.org
更多配置参考:https://github.com/cnpm/cnpmj…
运行
$ cnpmjs.org start
运行后默认将会开启两个端口:7001(registry),7001(registry)
7001(registry)
用来在命令行发布,下载包等对用的远程registry地址比如:cnpmjs.org官方:http://r.cnpmjs.org/npm官方:https://registry.npmjs.org/
7002(web)
用来在web端查看仓库信息,搜索包,包信息等。cnpmjs.org官方:https://cnpmjs.org/npm官方:http://npmjs.com/
将两个端口号通过nginx配置到对应域名
例如:7001配置到registry.company.com7002配置到npm.company.com
通过 pm2 运行
上述方法在命令行退出时,会自动关闭进程,如果需要持久化运行cnpmjs.org,可以借助进程管理工具pm2。
安装 pm2
$ npm install pm2 -g
运行
$ pm2 start `which cnpmjs.org` — start
–可以在pm2 start的脚本后面增加参数。
客户端
发布包
安装并配置配置 cnpm
$ npm install cnpm -g
$ cnpm set registry http://registry.company.com
这里的registry地址为上述registryHost字段。
登录
$ cnpm login
输入用户名、密码、邮箱登录,为配置中admins字段
发布
进入待发布工程目录,执行:
$ cnpm publish
下载包
$ cnpm install @package/package_name

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理