npm 私有仓库配置过程

2017/7/30 posted in  Npm

在开发过程中有时候我们需要开发自己的node package,但是由于是我们自己使用的包,不希望发布到npmjs.org公共库上去,于是就需要一个私有的仓库,推荐nexus,因为当初写java也是用nexus管理jar包的。
接下来就介绍如何配置nexus npm仓库。

一、nexus安装

此处省略几百字...
说几句题外话:对于一个开发人员,linux命令行模式还是必须要掌握的,安装软件,查看日志,都是必须的。因为你离不开它。就像写代码必须要电脑一样,这个年代你不可能在纸上写代码去执行。
尤其近几年:前端使用的 Bower 管理器、Node 环境以及自动化测试、版本控制等都离不开 Linux 命令行的设计思想。所以linux命令、node命令、npm命令都需要掌握。

二、nexus仓库配置

在nexus新建npm仓库:Repositories > create repository 说明一下npm仓库有三种:

proxy:代理仓库(我们需要用到公网的包,从这个代理走)
hosted:私有仓库(这就是你本地的仓库)
group:仓库组(每个组里要包含 proxy 和 hosted )
  1. 分别创建三种库:

    • 创建proxy仓库:
      填写require的地方;

      完成之后就是如下的样子:

    • 创建hosted仓库:
      同样填写required内容(就是你的仓库名称)

      保存成功之后如下:(注意Deployment 要设置为:Allow redeploy,否则后续发布npm包,会失败)

    • 创建Group组 (这个group组其实就是将上面两个组合到一块)
      注意填写仓库名称,将之前建立好的proxy和hosted添加到此group中

      成功之后如下图:(我们最后要在本地使用的也就是下面标红这个仓库地址)

npm仓库配置完成之后,需要验证一下仓库可是使用。我们使用另一篇文章node包开发、发布流程的例子试验一下。

三、npm私服的使用

⚠️ 以下的仓库IP地址我都用yourIp替换了,需要替换成你自己的仓库IP地址。

3.1 配置本地仓库地址

地址:--registry=http://yourIp:port/repository/shfb-node-all/

$ > npm config set registry http://yourIp:port/repository/shfb-node-all/

$ > npm adduser --registry=http://yourIp:port/repository/shfb-node-repo/
Username: wangjh
Password:
Email: (this IS public) wangjh@bjshfb.com
Logged in as wangjh on http://yourIp:port/repository/shfb-node-repo/.

3.2 使用本地仓库地址登录

$ npm login
Username: wangjh
Password:
Email:(this IS public) wangjh@bjshfb.com
Logged in as wangjh on http://yourIp:port/repository/shfb-node-all/

3.3 publish注意

需要使用hosted地址发布:
http://yourIp:port/repository/shfb-node-repo/

$ npm publish --registry=http://yourIp:port/repository/shfb-node-repo/

结果如图:

于npm私服仓库查询发布npm包

3.4 发布成功如何使用?

新建项目直接使用npm install即可安装learnNpm包,前提是你的registry要指向我们的私服仓库。

(全文完)

目录