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

Posted huangenai

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用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环境

 

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

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

 

以上是关于使用cnpm搭建私有NPM仓库 发布npm包的主要内容,如果未能解决你的问题,请参考以下文章

cnpm私服搭建和发布包

NPM私有包部署到私有仓库

CentOS+Nexus搭建npm私有仓库并推送代码

CentOS+Nexus搭建npm私有仓库并推送代码

运维工具搭建npm私有镜像仓库,天下苦于npm build久矣

搭建npm私有镜像仓库,天下苦于npm build久矣