cnpm私有库使用方法

作者: Curt_Sleeping | 来源:发表于2018-08-27 16:20 被阅读271次

    最近公司需要搭建一套公司自有的 npm 私有库, 于是用到了cnpm的解决方案

    cnpm是企业内部搭建npm镜像和私有npm仓库的开源方案。它同时解决了现有npm架构的一些问题,目前有阿里维护。

    cnpm的特点:

    1、压缩包等文件从数据库中分离,放在CDN上,减轻了数据库的压力,提高了访问速度。
    
    2、使用MySQL替换了CouchDB,更容易部署。同时由于大部分开发者更熟悉MySQL,因此架设起来更方便。
    
    3、和MySQL都可以方便地扩展。
    

    附上CNPM官方发布的架构图:

    cnpm-architect

    大概意思就是:

    1、公司搭建私有npm服务器。

    2、Developer通过指定镜像源到私有服务器的方法,将publish unpublish install 等操作 直接与公司服务器交互,形成包私有化(上传下载等存放于私有服务器上,并非官方NPM)

    3、npm服务器端可配置admin账号,赋予权限,可且仅admin权限账号才可以决定是否将私有包公开化,上传至官方npm

    4、Developer拉去包操作时首先会与私有服务器交互发现404 未找到资源将会同步由阿里维护的cnpm,若是依然404,cnpm会自行同步npm(cnpm 本身10分钟同步一次)

    5、私有化实现

    安装cnpm客户端

    npm install cnpm -g

    cnpm -v 查看是否安装成功

    安装nrm镜像管理

    因为国内墙的原因,主流方法是设置npm镜像源,这里推荐通过nrm来实现管理

    nrm 地址 : https://www.npmjs.com/package/nrm

    1、 npm install -g nrm

    安装成功后

    2、nrm ls

    查看列表

    [图片上传失败...(image-1cc825-1535357948305)]

    3、nrm add okay http://10.60.0.124:7001

    添加名为okay新的镜像地址(私有服务器地址)再次执行nrm ls 如下图

    [图片上传失败...(image-763399-1535357948305)]

    4、nrm use okay

    通过nrm use name 的方式选择对应的镜像源 前面的 * 表示当前正在使用的镜像源, 接下来使用npm 便是这个镜像源了, mac下有可能有权限问题 自行解决。

    私有库交互

    1、登录操作

    对应的publish 等操作 都需要在登录的前提下,所以请先登录

    执行 cnpm login ( 其实就是注册)

    Username: daimingru

    Password: ******

    Email:523121837@qq.com

    登录完成后可以通过 执行 cnpm who am i 来查看当前登录用户

    2、publish操作

    登录后进入对应目录

    执行npm init

    编写完成后直接执行 cnpm publish 操作即可 (操作与npm 完全一致)

    可通过web方式查看是否上传成功

    1、命令行模式:open http://10.60.0.124:7002

    2、浏览器直接打开如上命令

    访问如下图

    [图片上传失败...(image-bf960e-1535357948305)]

    通过input 直接搜索即可 例如:

    [图片上传失败...(image-bb82cc-1535357948305)]

    服务器环境相关

    1、node : V6.11.2

    2、npm : V6.4.0

    3、Mysql: 5.7

    相关文章

      网友评论

        本文标题:cnpm私有库使用方法

        本文链接:https://www.haomeiwen.com/subject/zkltwftx.html