关于如何使用 cnpm 搭建私有的 npm 仓库看这里→ http://blog.fens.me/nodejs-cnpm-npm/
我本人还没有机会真正实践操作过,公司的 npm 仓库是我老大搭建的,我这里仅仅记录关于如何发布 npm 包以及在这过程中出现的问题以及解决的方案。
因为官方的 npm 上的模块是完全开源,但是公司自己项目有些模块与业务或者逻辑以及一些配置模块肯定不能开源啊,所以需要搭建私有的 npm 仓库。
首先安装好 npm 以及 cnpm 。
现在安装 node.js 里会一起安装好 npm。
然后安装 cnpm 并且设置为公司地址
- npm install - g cnpm--registry = http: //192.168.1.xxx:xxxx/
然后管理员在服务器上添加管理员账号,并将账号加入到 maintainers 中
首先输入
- npm adduser
接着会出现
username:输入管理员在服务器给你设置的用户名
Password:密码自行设置
Email:在服务器给这个账号设置的邮箱
添加成功后在这个路劲 C:\Users \ 用户名 \ 下会有一个. npmrc 文件
里面内容大概如下图所示
登录账号
- npm login
依次输入刚才添加的账号信息
username:用户名
password:密码
email:邮箱
登录成功结果:
错误登陆情况:npm ERR! network connect ETIMEDOUT 192.168.1.218:7001npm ERR! network This is most likely not a problem with npm itselfnpm 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 解决:服务器问题,检查服务器是否启动
提交版本 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 解决:账号不是管理员在服务器添加的账号
在项目中 请先注意你的 registry 是否指向公司的仓库地址
你可以先 npm config get registry 查看一下 确认没错了
npm install @tes/core
安装完成
来源: http://www.cnblogs.com/huangenai/p/6918667.html