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


    关于如何使用cnpm搭建私有的npm仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/

    我本人还没有机会真正实践操作过,公司的npm仓库是我老大搭建的,我这里仅仅记录关于如何发布npm包以及在这过程中出现的问题以及解决的方案。

    因为官方的npm上的模块是完全开源,但是公司自己项目有些模块与业务或者逻辑以及一些配置模块肯定不能开源啊,所以需要搭建私有的npm仓库。

    1.准备工作

    首先安装好npm 以及 cnpm 。

    现在安装node.js 里会一起安装好npm。

    然后安装cnpm 并且设置为公司地址

    npm install -g cnpm --registry=http://192.168.1.xxx:xxxx/

    2.服务器配置账号

    然后管理员在服务器上添加管理员账号,并将账号加入到maintainers 中

    3.npm adduser 

    首先输入

    npm adduser

    接着会出现

    username:输入管理员在服务器给你设置的用户名

    Password:密码自行设置

    Email:在服务器给这个账号设置的邮箱

    添加成功后在这个路劲C:Users用户名下会有一个.npmrc文件

    里面内容大概如下图所示

    4.npm login 

    登录账号

    npm login

    依次输入刚才添加的账号信息

    username:用户名

    password:密码

    email:邮箱

    登录成功结果:

    错误登陆情况:
    npm ERR! network connect ETIMEDOUT 192.168.1.218:7001
    npm ERR! network This is most likely not a problem with npm itself
    npm ERR! network and is related to network connectivity.
    npm ERR! network In most cases you are behind a proxy or have bad network settings.
    npm ERR! network
    解决:
    服务器问题,检查服务器是否启动

    5.cnpm publish

    提交版本ctrl+shift+B 编译后,再修改package.json 的版本号,接着在终端输入 : 

    cnpm publish

    如果是成功提交显示这样的结果

    + @test/core1.0.2  大概显示这样的表示提交成功

    未能提交成功情况

    1. forbidden user hea not authorized to modify @test/core, please contact maintainers: admin: @test/core
    解决:管理员还没有将你的账号添加到maintainers 中。

    2.forbidden cannot modify pre-existing version: 1.0.10: @test/core
    解决:没有修改版本号就提交了

    3.no_perms Private mode enable, only admin can publish this module: @test/core
    解决:账号不是管理员在服务器添加的账号

    6.安装提交上去的npm包

    在项目中 请先注意你的registry是否指向公司的仓库地址

    你可以先 npm config get registry 查看一下 确认没错了

    npm install @tes/core

    安装完成

     2018年11月23号更新

    关于如何搭建私有仓库的请看这个

    npm私有仓库 配置verdaccio在docker环境

    此随笔乃本人学习工作记录,如有疑问欢迎在下面评论,转载请标明出处。

    如果对您有帮助请动动鼠标右下方给我来个赞,您的支持是我最大的动力。

  • 相关阅读:
    【二分】
    【POJ】2456Aggressive cows
    【POJ】1064Cable master
    【动态规划】完全背包
    【DP】01背包
    【全排序】next_permutation
    【网络流】概念+EK算法+Dinic算法+Ford-Fulkerson算法
    【二分图】二分图的多重匹配
    web.xml配置SpringMVC时导致访问的页面资源不存在,跳转页面时出现404
    Struts2获得HttpServletRequest / HttpSession / ServletContext / HttpServletResponse对象
  • 原文地址:https://www.cnblogs.com/huangenai/p/6918667.html
Copyright © 2020-2023  润新知