【转】使用CNPM搭建私有NPM

最近的Node项目中因为数据模型等问题,需要有一个对各个模块进行统一的管理,如果把私有的模型publish到公共的npm不太合适,所以决定使用cnpm搭建一个私有的npm,同时也可以对项目常用的npm模块做一个缓存,加快部署速度。

搭建的过程还是比较简单,参考cnpm的Deploy很快搭建起来,给大家分享一下。

服务器环境:

  • Ubuntu Server 14.04
  • Node.js v0.12.0
  • MySQL 5.5

因为cnpm使用了--harmony参数,所以需要Node版本大于0.11.12,所以就直接上了最新的v0.12.0,没有MySQL也没关系,可以直接使用sqlite3。

Clone源码并导入SQL

(MySQL用户名:root 密码:root,数据库名:cnpm,项目和数据放在~/cnpm)


# clone from github
$ git clone git://github.com/cnpm/cnpmjs.org.git $HOME/cnpm
$ cd $HOME/cnpmjs

# create mysql tables
$ mysql -uroot -proot -e ‘DROP DATABASE IF EXISTS cnpmjs;‘
$ mysql -uroot -proot
mysql> use cnpmjs;
mysql> source docs/db.sql

创建并编辑config.js

$ vim config/config.js
 module.exports = {
    debug: false,
    scopes: [‘@superid‘],
    enableCluster: true, // enable cluster mode
    mysqlServers: [
      {
        host: ‘localhost‘,
        port: 3306,
        user: ‘root‘,
        password: ‘root‘,
      }
    ],
    mysqlDatabase: ‘cnpm‘,
    enablePrivate: true, // enable private mode
    admins: {
      admin: ‘[email protected]‘,
    },
    syncModel: ‘exist‘// ‘none‘, ‘all‘, ‘exist‘
  };

安装依赖并启动运行

$ make install

$ npm run start

检查运行

#open registry and web
# registry
$ curl http://localhost:7001
# web
$ curl http://localhost:7002

看到7001返回json数据,而7002返回HTML源代码就是运行成功。

客户端设置

首先安装cnpm,并设置~/.cnpmrc

$ sudo npm install -g cnpm

$ vim  ~/.cnpmrc

设置registry=http://127.0.0.1:7001(127.0.0.1改为你的服务器ip)

这样就可以正常的publish私有模块以及使用cnpm的缓存服务了。

有几个需要注意的点:

  1. 因为需要创建私有仓库并且保证有权限才能publish模块,所以config.jsenablePrivate必须设为true;
  2. 为了保证私有的库不与公开npm冲突,config.js中需要设置scopes数组为你的公司名或者项目代号,publish的模块名为@superid/myModel

原文链接:https://blog.yourtion.com/cnpm-private-npm.html

时间: 2024-12-21 15:45:15

【转】使用CNPM搭建私有NPM的相关文章

使用cnpm搭建私有NPM仓库 发布npm包

关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/ 我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记录关于如何发布npm包以及在这过程中出现的问题以及解决的方案. 因为官方的npm上的模块是完全开源,但是公司自己项目有些模块与业务或者逻辑以及一些配置模块肯定不能开源啊,所以需要搭建私有的npm仓库. 1.准备工作 首先安装好npm 以及 cnpm . 现在安装node.js 里会一起安装好npm.

MacPro 使用cnpmjs搭建私有npm服务

前言 前段时间看到npm私有库cnpmjs.org,一直想试一下怎么搭建,直接就拖到现在了,太懒! 先简单介绍下cnpmjs.org吧: cnpm的意思是Company npm.根据github上的介绍,翻译过来大概是: 基于koa,MySQL和 Simple Store Service的企业npm私有库和web端. 目标是为私人NPM提供一个低成本的维护和易于使用的解决方案. 利用cnpmjs.org你可以: 1.搭建一个企业的npm私有库 2.搭建一个npm的镜像 3.搭建一个完全独立于np

使用verdaccio 搭建私有npm 服务器

原因 方便:公司内部开发的私有包,统一管理,方便开发和使用 安全:公司内部开发的代码并不想公开 加速:自建的服务器会缓存下载过的包,能节省时间 介绍 Verdaccio是一个简单的零配置所需的本地私有npm注册表.不需要整个数据库就可以开始使用!Verdaccio开箱即用,拥有自己的小型数据库,能够代理其他注册表(例如npmjs.org),沿途缓存下载的模块. 使用 1.安装 npm install --global verdaccio 或者用yarn global add verdaccio安

搭建前端私有npm杂记

随着前端队伍越来越壮大,项目间共享代码就变得尤为重要.常用的框架/类库没必要在每个项目都放一份,团队内部产出的公共模块也需要有合理的共享机制.现在,用npm管理前端代码已经是业界趋势.楼主尝试用私有npm+资源管理系统的方式搭建起一套前端资源仓库,用以在公司内部托管公共代码,并为开发环境提供代码源.本文记录一下搭建过程,或许可以给大家做个参考. 整体架构 搭建私有npm的话其实是非常简单的,github上有一个叫做sinopia(https://github.com/rlidwka/sinopi

私有npm计划

为什么要建立私有npm 提高代码复用程度,增加团队沉淀 剥离项目依赖,工程更加轻量 引用全量更新,支持版本降级 建立模块文档,降低上手难度 全员把关代码质量,无需重复测试 构建工具已成趋势,优化发布流程,减少手动工作,提高团队效率 增强团队代码交流 内部保密机制 要做的工作 搭建私有 npm 环境 探索 npm 使用工作流 npm 对接 OA,做好权限控制 npm 上传规范制定 现有组件上传 npm 要做的改造 使用 git 维护源码库 git 与 npm publish 联动,实现自动测试.构

使用cnpm搭建企业内部私有NPM仓库

cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案.它同时解决了现有npm架构的一些问题. 为什么企业需要私有NPM 主要有如下理由: 确保npm服务快速.稳定:对于企业来说,上线生产系统的时候,需要花半小时甚至更久等待npm模块依赖安装完毕,是不可接受的.部署镜像后,可以确保高速.稳定的npm服务. 发布私有模块:官方的npm上的模块全部是开源的.一些与企业业务逻辑相关的模块可能不适合开源.这部分私有的模块放在私有NPM仓库中,使用起来各种方便. 控制npm模块质量和安全:npm上的模

搭建公司私有npm仓库

1.安装curl.git 2.安装node 3.下载npm 4.安装mysql,创建cnpmjs数据库 5.下载cnpm文件,进行npm install 6.进入cnpmjs.org,设置数据库并添加.更改配置文件 7.运行 如果出现了以下错误,说明config目录下的两个端口号7011,7022被占用,需换端口号. 运行之后,打开浏览器,如果出现以下画面则说明成功: 8.测试使用 搭建完成之后,我们可以在自己本地下载一下看能否成功: 全局安装cnpm--npm install cnpm -g:

centos6.5 64位下安装私有npm

搭建自己的私有npm库 1.安装Couchdb [[email protected]_private ~]# yum install wget [[email protected]_private ~]# wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [[email protected]_private ~]# rpm -ivh --test epel-release-6-

AntShares区块链的节点部署与搭建私有链

最近陆续体验常见的区块链开源项目,例如小蚁OnChain出的AntShares.AntShares跟其他开源区块链项目不一样,他们家是使用C#开发,基于.NET Core运行在Linux,期待未来出Go语言版.... 接下来会详细讲解如何部署AntShares和搭建私有链,本文使用virtualbox + ubuntu + AntSharesCore v1.4.,参考了官方文档. 第一步,安装.net core,如果提示安装失败,则多刷"sudo apt-get update"几次: