NPM私有仓库(基于nexus2搭建)使用教程

4,759 阅读3分钟

一、前言

很多时候,公司可能出于安全隐私或其他等方面的需要,并不想把公司的代码开源出来,所以这个时候,公司会搭建自己的私有仓库。目前常用的前端包管理器是npm的公共仓库,鉴于目前部门使用nexus2管理后端jar包,所以使用nexus2搭建npm私有仓库。

二、搭建nexus2私有仓库

搭建过程省略(具体可参考:blog.csdn.net/xixiaoxie2/…

nexus2可搭建三种类型私库

  • Proxying npm Registries代理仓库

该仓库可以远程访问公共仓库,当前设置的registerhttps://registry.npm.taobao.org

服务器会缓存下载过的包。

只能下载公共仓库的包。

  • Private npm Registries 托管仓库

该仓库即为私有仓库,可以发布自己的代码包和可以下载私有仓库里已发布的包。

  • Grouping npm Registries 存储库组

将前两个单独的仓库合并起来,既可以下载公共仓库的包,也可以下载私有仓库的包。

三、本地配置使用私有仓库

搭建完成私有仓库后,我们就可以来使用这个仓库了,在使用之前,我们得先配置一波。

首先,我们注册一个私有仓库账号


然后分配好权限,此操作最好由最高权限账号admin来操作。

接着使用使用npm config ls查看npm的配置

如果没配置register,默认为http://registry.npmjs.org

registerregistry可以忽略,是后面要说的。


上图有一个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码 格式是: 用户名:密码

四、发布代码包上私有仓库:

发布私有包时,npmregistry需修改为你发布的路径
可永久修改,可临时修改,看个人爱好
临时修改就是在发布的时候npm publish添加registry选项或者在需要发布包的package.json文件中配置


要发布的模块,必须保证在根目录下有package.json文件,否则会报错
并且建议发布的包里包含
  • package.json
  • index.js
  • REDME.md
三个文件
package.json可通过npm init 初始化出来


永久修改则是
npm config set registry "指定的仓库路径"
然后就可以发布了


发布了之后,就可以在需要的时候下载了。。。

五、从私有仓库下载包

私库的下载跟私库的上传大同小异
需要修改npmregister配置
这个和发布一样,可以永久修改,也可以临时修改
跟发布的步骤一样。
临时修改,每次下载时,带上要下载的包的路径,和包的名。


也可以永久修改:

npm config set -register "http://****"
然后下载的时候,只需带上-register这个参数即可

npm -loglevel info install test


如果想要撤销发布的包,可直接在nexus上操作,简单粗暴。嘻嘻!

到这里就可以尽情使用公司内部私库玩耍了~

本文章参考 www.cnblogs.com/wfeicherish…

最后……新手上路,难免会磕磕碰碰,如果哪里写的不好或有纰漏,欢迎随时指出,一起学习。

一起加油!!!