关于如何使用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 大概显示这样的表示提交成功
未能提交成功情况
- 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
安装完成