一、前言
很多时候,公司可能出于安全隐私或其他等方面的需要,并不想把公司的代码开源出来,所以这个时候,公司会搭建自己的私有仓库。目前常用的前端包管理器是npm的公共仓库,鉴于目前部门使用nexus2管理后端jar包,所以使用nexus2搭建npm私有仓库。
二、搭建nexus2私有仓库
搭建过程省略(具体可参考:blog.csdn.net/xixiaoxie2/…)
nexus2可搭建三种类型私库
- Proxying npm Registries代理仓库
该仓库可以远程访问公共仓库,当前设置的register为https://registry.npm.taobao.org
服务器会缓存下载过的包。
只能下载公共仓库的包。
- Private npm Registries 托管仓库
该仓库即为私有仓库,可以发布自己的代码包和可以下载私有仓库里已发布的包。
- Grouping npm Registries 存储库组
将前两个单独的仓库合并起来,既可以下载公共仓库的包,也可以下载私有仓库的包。
三、本地配置使用私有仓库
搭建完成私有仓库后,我们就可以来使用这个仓库了,在使用之前,我们得先配置一波。
首先,我们注册一个私有仓库账号

然后分配好权限,此操作最好由最高权限账号admin来操作。
接着使用使用npm config ls查看npm的配置
如果没配置
register,默认为http://registry.npmjs.orgregister和registry可以忽略,是后面要说的。

上图有一个
HOME,查看HOME路径下有没有一个.npmrc配置文件如果没有,可以手动新建一个
然后编辑.
npmrc文件可以用记事本打开直接编辑,也可以打开终端,命令式编辑,我这里选择了命令式编辑
npm config set email “roy@xxx.com”
npm config set always-auth true
npm config set _auth "ROY***********=="这里需注意:
email 是登录的用户绑定邮箱_auth 是用户名和密码的base64码 格式是: 用户名:密码四、发布代码包上私有仓库:
发布私有包时,
npm的registry需修改为你发布的路径可永久修改,可临时修改,看个人爱好
临时修改就是在发布的时候
npm publish添加registry选项或者在需要发布包的package.json文件中配置
要发布的模块,必须保证在根目录下有package.json文件,否则会报错
并且建议发布的包里包含
- package.json
- index.js
- REDME.md
三个文件
package.json可通过npm init 初始化出来
永久修改则是
npm config set registry "指定的仓库路径"然后就可以发布了

发布了之后,就可以在需要的时候下载了。。。
五、从私有仓库下载包
私库的下载跟私库的上传大同小异
需要修改
npm的register配置这个和发布一样,可以永久修改,也可以临时修改
跟发布的步骤一样。
临时修改,每次下载时,带上要下载的包的路径,和包的名。

也可以永久修改:
npm config set -register "http://****"然后下载的时候,只需带上-register这个参数即可
npm -loglevel info install test
如果想要撤销发布的包,可直接在nexus上操作,简单粗暴。嘻嘻!
到这里就可以尽情使用公司内部私库玩耍了~
本文章参考 www.cnblogs.com/wfeicherish…
最后……新手上路,难免会磕磕碰碰,如果哪里写的不好或有纰漏,欢迎随时指出,一起学习。
一起加油!!!